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"
LOCAL loRest
LOCAL lnSuccess
LOCAL lnBTls
LOCAL lnPort
LOCAL lnBAutoReconnect
LOCAL loSbResponseBody
LOCAL lnRespStatusCode
LOCAL loJsonResponse
LOCAL i
LOCAL lnCount_i
LOCAL lcKind
LOCAL lcId
LOCAL lcSelfLink
LOCAL lcProjectNumber
LOCAL lcName
LOCAL lcTimeCreated
LOCAL lcUpdated
LOCAL lcMetageneration
LOCAL lcLocation
LOCAL lcStorageClass
LOCAL lcEtag
loRest = CreateObject('Chilkat_9_5_0.Rest')
* URL: https://www.googleapis.com/storage/v1/b
lnBTls = 1
lnPort = 443
lnBAutoReconnect = 1
lnSuccess = loRest.Connect("www.googleapis.com",lnPort,lnBTls,lnBAutoReconnect)
IF (lnSuccess <> 1) THEN
? "ConnectFailReason: " + STR(loRest.ConnectFailReason)
? loRest.LastErrorText
RELEASE loRest
CANCEL
ENDIF
loRest.AddQueryParam("project","MY_CLOUD_STORAGE_PROJECT")
loRest.AddHeader("Authorization","Bearer CLOUD_STORAGE_TOKEN")
loSbResponseBody = CreateObject('Chilkat_9_5_0.StringBuilder')
lnSuccess = loRest.FullRequestNoBodySb("GET","/storage/v1/b",loSbResponseBody)
IF (lnSuccess <> 1) THEN
? loRest.LastErrorText
RELEASE loRest
RELEASE loSbResponseBody
CANCEL
ENDIF
lnRespStatusCode = loRest.ResponseStatusCode
IF (lnRespStatusCode >= 400) THEN
? "Response Status Code = " + STR(lnRespStatusCode)
? "Response Header:"
? loRest.ResponseHeader
? "Response Body:"
? loSbResponseBody.GetAsString()
RELEASE loRest
RELEASE loSbResponseBody
CANCEL
ENDIF
loJsonResponse = CreateObject('Chilkat_9_5_0.JsonObject')
loJsonResponse.LoadSb(loSbResponseBody)
* See the Online Tool for Generating JSON Parse Code
lcKind = loJsonResponse.StringOf("kind")
i = 0
lnCount_i = loJsonResponse.SizeOfArray("items")
DO WHILE i < lnCount_i
loJsonResponse.I = i
lcKind = loJsonResponse.StringOf("items[i].kind")
lcId = loJsonResponse.StringOf("items[i].id")
lcSelfLink = loJsonResponse.StringOf("items[i].selfLink")
lcProjectNumber = loJsonResponse.StringOf("items[i].projectNumber")
lcName = loJsonResponse.StringOf("items[i].name")
lcTimeCreated = loJsonResponse.StringOf("items[i].timeCreated")
lcUpdated = loJsonResponse.StringOf("items[i].updated")
lcMetageneration = loJsonResponse.StringOf("items[i].metageneration")
lcLocation = loJsonResponse.StringOf("items[i].location")
lcStorageClass = loJsonResponse.StringOf("items[i].storageClass")
lcEtag = loJsonResponse.StringOf("items[i].etag")
i = i + 1
ENDDO
RELEASE loRest
RELEASE loSbResponseBody
RELEASE loJsonResponse
{
"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="
}
]
}