Retrieves a list of buckets for a given project.
curl -X GET https://www.googleapis.com/storage/v1/b \
--header "Authorization: Bearer CLOUD_STORAGE_TOKEN" \
--data "project=MY_CLOUD_STORAGE_PROJECT"
load ./chilkat.dll
set rest [new_CkRest]
# URL: https://www.googleapis.com/storage/v1/b
set bTls 1
set port 443
set bAutoReconnect 1
set success [CkRest_Connect $rest "www.googleapis.com" $port $bTls $bAutoReconnect]
if {[expr $success != 1]} then {
puts "ConnectFailReason: [CkRest_get_ConnectFailReason $rest]"
puts [CkRest_lastErrorText $rest]
delete_CkRest $rest
exit
}
CkRest_AddQueryParam $rest "project" "MY_CLOUD_STORAGE_PROJECT"
CkRest_AddHeader $rest "Authorization" "Bearer CLOUD_STORAGE_TOKEN"
set sbResponseBody [new_CkStringBuilder]
set success [CkRest_FullRequestNoBodySb $rest "GET" "/storage/v1/b" $sbResponseBody]
if {[expr $success != 1]} then {
puts [CkRest_lastErrorText $rest]
delete_CkRest $rest
delete_CkStringBuilder $sbResponseBody
exit
}
set respStatusCode [CkRest_get_ResponseStatusCode $rest]
if {[expr $respStatusCode >= 400]} then {
puts "Response Status Code = $respStatusCode"
puts "Response Header:"
puts [CkRest_responseHeader $rest]
puts "Response Body:"
puts [CkStringBuilder_getAsString $sbResponseBody]
delete_CkRest $rest
delete_CkStringBuilder $sbResponseBody
exit
}
set jsonResponse [new_CkJsonObject]
CkJsonObject_LoadSb $jsonResponse $sbResponseBody
# See the Online Tool for Generating JSON Parse Code
set kind [CkJsonObject_stringOf $jsonResponse "kind"]
set i 0
set count_i [CkJsonObject_SizeOfArray $jsonResponse "items"]
while {[expr $i < $count_i]} {
CkJsonObject_put_I $jsonResponse $i
set kind [CkJsonObject_stringOf $jsonResponse "items[i].kind"]
set id [CkJsonObject_stringOf $jsonResponse "items[i].id"]
set selfLink [CkJsonObject_stringOf $jsonResponse "items[i].selfLink"]
set projectNumber [CkJsonObject_stringOf $jsonResponse "items[i].projectNumber"]
set name [CkJsonObject_stringOf $jsonResponse "items[i].name"]
set timeCreated [CkJsonObject_stringOf $jsonResponse "items[i].timeCreated"]
set updated [CkJsonObject_stringOf $jsonResponse "items[i].updated"]
set metageneration [CkJsonObject_stringOf $jsonResponse "items[i].metageneration"]
set location [CkJsonObject_stringOf $jsonResponse "items[i].location"]
set storageClass [CkJsonObject_stringOf $jsonResponse "items[i].storageClass"]
set etag [CkJsonObject_stringOf $jsonResponse "items[i].etag"]
set i [expr $i + 1]
}
delete_CkRest $rest
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jsonResponse
{
"kind": "storage#buckets",
"items": [
{
"kind": "storage#bucket",
"id": "chilkat-bucket",
"selfLink": "https://www.googleapis.com/storage/v1/b/chilkat-bucket",
"projectNumber": "5332332985",
"name": "chilkat-bucket",
"timeCreated": "2018-10-23T00:04:44.507Z",
"updated": "2018-10-23T00:04:44.507Z",
"metageneration": "1",
"location": "US",
"storageClass": "MULTI_REGIONAL",
"etag": "CAE="
},
{
"kind": "storage#bucket",
"id": "chilkat-images",
"selfLink": "https://www.googleapis.com/storage/v1/b/chilkat-images",
"projectNumber": "5332332985",
"name": "chilkat-images",
"timeCreated": "2018-10-23T11:24:43.000Z",
"updated": "2018-10-23T11:24:43.000Z",
"metageneration": "1",
"location": "US",
"storageClass": "MULTI_REGIONAL",
"etag": "CAE="
}
]
}