Creates a new bucket.
curl -X POST https://www.googleapis.com/storage/v1/b?project=MY_CLOUD_STORAGE_PROJECT \
--header "Authorization: Bearer CLOUD_STORAGE_TOKEN" \
--header "Content-Type: application/json" \
--data '{"name": "chilkat-test-bucket"}'
load ./chilkat.dll
set rest [new_CkRest]
# URL: https://www.googleapis.com/storage/v1/b?project=MY_CLOUD_STORAGE_PROJECT
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
}
# See the Online Tool for Generating JSON Creation Code
set json [new_CkJsonObject]
CkJsonObject_UpdateString $json "name" "chilkat-test-bucket"
CkRest_AddHeader $rest "Authorization" "Bearer CLOUD_STORAGE_TOKEN"
CkRest_AddHeader $rest "Content-Type" "application/json"
set sbRequestBody [new_CkStringBuilder]
CkJsonObject_EmitSb $json $sbRequestBody
set sbResponseBody [new_CkStringBuilder]
set success [CkRest_FullRequestSb $rest "POST" "/storage/v1/b?project=MY_CLOUD_STORAGE_PROJECT" $sbRequestBody $sbResponseBody]
if {[expr $success != 1]} then {
puts [CkRest_lastErrorText $rest]
delete_CkRest $rest
delete_CkJsonObject $json
delete_CkStringBuilder $sbRequestBody
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_CkJsonObject $json
delete_CkStringBuilder $sbRequestBody
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 id [CkJsonObject_stringOf $jsonResponse "id"]
set selfLink [CkJsonObject_stringOf $jsonResponse "selfLink"]
set projectNumber [CkJsonObject_stringOf $jsonResponse "projectNumber"]
set name [CkJsonObject_stringOf $jsonResponse "name"]
set timeCreated [CkJsonObject_stringOf $jsonResponse "timeCreated"]
set updated [CkJsonObject_stringOf $jsonResponse "updated"]
set metageneration [CkJsonObject_stringOf $jsonResponse "metageneration"]
set location [CkJsonObject_stringOf $jsonResponse "location"]
set storageClass [CkJsonObject_stringOf $jsonResponse "storageClass"]
set etag [CkJsonObject_stringOf $jsonResponse "etag"]
delete_CkRest $rest
delete_CkJsonObject $json
delete_CkStringBuilder $sbRequestBody
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jsonResponse
{
"kind": "storage#bucket",
"id": "chilkat-test-bucket",
"selfLink": "https://www.googleapis.com/storage/v1/b/chilkat-test-bucket",
"projectNumber": "5332332985",
"name": "chilkat-test-bucket",
"timeCreated": "2018-10-23T11:52:52.464Z",
"updated": "2018-10-23T11:52:52.464Z",
"metageneration": "1",
"location": "US",
"storageClass": "STANDARD",
"etag": "CAE="
}