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"}'
IncludeFile "CkJsonObject.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkRest.pb"
Procedure ChilkatExample()
rest.i = CkRest::ckCreate()
If rest.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success.i
; URL: https://www.googleapis.com/storage/v1/b?project=MY_CLOUD_STORAGE_PROJECT
bTls.i = 1
port.i = 443
bAutoReconnect.i = 1
success = CkRest::ckConnect(rest,"www.googleapis.com",port,bTls,bAutoReconnect)
If success <> 1
Debug "ConnectFailReason: " + Str(CkRest::ckConnectFailReason(rest))
Debug CkRest::ckLastErrorText(rest)
CkRest::ckDispose(rest)
ProcedureReturn
EndIf
; See the Online Tool for Generating JSON Creation Code
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateString(json,"name","chilkat-test-bucket")
CkRest::ckAddHeader(rest,"Authorization","Bearer CLOUD_STORAGE_TOKEN")
CkRest::ckAddHeader(rest,"Content-Type","application/json")
sbRequestBody.i = CkStringBuilder::ckCreate()
If sbRequestBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckEmitSb(json,sbRequestBody)
sbResponseBody.i = CkStringBuilder::ckCreate()
If sbResponseBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkRest::ckFullRequestSb(rest,"POST","/storage/v1/b?project=MY_CLOUD_STORAGE_PROJECT",sbRequestBody,sbResponseBody)
If success <> 1
Debug CkRest::ckLastErrorText(rest)
CkRest::ckDispose(rest)
CkJsonObject::ckDispose(json)
CkStringBuilder::ckDispose(sbRequestBody)
CkStringBuilder::ckDispose(sbResponseBody)
ProcedureReturn
EndIf
respStatusCode.i = CkRest::ckResponseStatusCode(rest)
If respStatusCode >= 400
Debug "Response Status Code = " + Str(respStatusCode)
Debug "Response Header:"
Debug CkRest::ckResponseHeader(rest)
Debug "Response Body:"
Debug CkStringBuilder::ckGetAsString(sbResponseBody)
CkRest::ckDispose(rest)
CkJsonObject::ckDispose(json)
CkStringBuilder::ckDispose(sbRequestBody)
CkStringBuilder::ckDispose(sbResponseBody)
ProcedureReturn
EndIf
jsonResponse.i = CkJsonObject::ckCreate()
If jsonResponse.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckLoadSb(jsonResponse,sbResponseBody)
; See the Online Tool for Generating JSON Parse Code
kind.s = CkJsonObject::ckStringOf(jsonResponse,"kind")
id.s = CkJsonObject::ckStringOf(jsonResponse,"id")
selfLink.s = CkJsonObject::ckStringOf(jsonResponse,"selfLink")
projectNumber.s = CkJsonObject::ckStringOf(jsonResponse,"projectNumber")
name.s = CkJsonObject::ckStringOf(jsonResponse,"name")
timeCreated.s = CkJsonObject::ckStringOf(jsonResponse,"timeCreated")
updated.s = CkJsonObject::ckStringOf(jsonResponse,"updated")
metageneration.s = CkJsonObject::ckStringOf(jsonResponse,"metageneration")
location.s = CkJsonObject::ckStringOf(jsonResponse,"location")
storageClass.s = CkJsonObject::ckStringOf(jsonResponse,"storageClass")
etag.s = CkJsonObject::ckStringOf(jsonResponse,"etag")
CkRest::ckDispose(rest)
CkJsonObject::ckDispose(json)
CkStringBuilder::ckDispose(sbRequestBody)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonObject::ckDispose(jsonResponse)
ProcedureReturn
EndProcedure
{
"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="
}