Retrieves a list of objects in the Google Cloud Storage bucket. The name of the bucket is specified in the URL's path. This example retrieves a listing of the objects in the "chilkat-test" bucket.
curl -X GET https://www.googleapis.com/storage/v1/b/chilkat-bucket/o?project=MY_CLOUD_STORAGE_PROJECT \
--header "Authorization: Bearer CLOUD_STORAGE_TOKEN"
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/chilkat-bucket/o?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
CkRest::ckAddHeader(rest,"Authorization","Bearer CLOUD_STORAGE_TOKEN")
sbResponseBody.i = CkStringBuilder::ckCreate()
If sbResponseBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkRest::ckFullRequestNoBodySb(rest,"GET","/storage/v1/b/chilkat-bucket/o?project=MY_CLOUD_STORAGE_PROJECT",sbResponseBody)
If success <> 1
Debug CkRest::ckLastErrorText(rest)
CkRest::ckDispose(rest)
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)
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
i.i
count_i.i
kind.s = CkJsonObject::ckStringOf(jsonResponse,"kind")
i = 0
count_i = CkJsonObject::ckSizeOfArray(jsonResponse,"items")
While i < count_i
CkJsonObject::setCkI(jsonResponse, i)
kind = CkJsonObject::ckStringOf(jsonResponse,"items[i].kind")
id.s = CkJsonObject::ckStringOf(jsonResponse,"items[i].id")
selfLink.s = CkJsonObject::ckStringOf(jsonResponse,"items[i].selfLink")
name.s = CkJsonObject::ckStringOf(jsonResponse,"items[i].name")
bucket.s = CkJsonObject::ckStringOf(jsonResponse,"items[i].bucket")
generation.s = CkJsonObject::ckStringOf(jsonResponse,"items[i].generation")
metageneration.s = CkJsonObject::ckStringOf(jsonResponse,"items[i].metageneration")
contentType.s = CkJsonObject::ckStringOf(jsonResponse,"items[i].contentType")
timeCreated.s = CkJsonObject::ckStringOf(jsonResponse,"items[i].timeCreated")
updated.s = CkJsonObject::ckStringOf(jsonResponse,"items[i].updated")
storageClass.s = CkJsonObject::ckStringOf(jsonResponse,"items[i].storageClass")
timeStorageClassUpdated.s = CkJsonObject::ckStringOf(jsonResponse,"items[i].timeStorageClassUpdated")
size.s = CkJsonObject::ckStringOf(jsonResponse,"items[i].size")
md5Hash.s = CkJsonObject::ckStringOf(jsonResponse,"items[i].md5Hash")
mediaLink.s = CkJsonObject::ckStringOf(jsonResponse,"items[i].mediaLink")
crc32c.s = CkJsonObject::ckStringOf(jsonResponse,"items[i].crc32c")
etag.s = CkJsonObject::ckStringOf(jsonResponse,"items[i].etag")
i = i + 1
Wend
CkRest::ckDispose(rest)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonObject::ckDispose(jsonResponse)
ProcedureReturn
EndProcedure
{
"kind": "storage#objects",
"items": [
{
"kind": "storage#object",
"id": "chilkat-bucket/hedgehogs.jpg/1540253106638630",
"selfLink": "https://www.googleapis.com/storage/v1/b/chilkat-bucket/o/hedgehogs.jpg",
"name": "hedgehogs.jpg",
"bucket": "chilkat-bucket",
"generation": "1540253106638630",
"metageneration": "1",
"contentType": "image/jpeg",
"timeCreated": "2018-10-23T00:05:06.638Z",
"updated": "2018-10-23T00:05:06.638Z",
"storageClass": "MULTI_REGIONAL",
"timeStorageClassUpdated": "2018-10-23T00:05:06.638Z",
"size": "48573",
"md5Hash": "TE1U6fQlD6MOVGaQbwGinQ==",
"mediaLink": "https://www.googleapis.com/download/storage/v1/b/chilkat-bucket/o/hedgehogs.jpg?generation=1540253106638630&alt=media",
"crc32c": "1B2d6g==",
"etag": "CKaepPqhm94CEAE="
},
{
"kind": "storage#object",
"id": "chilkat-bucket/penguins.jpg/1540253106941673",
"selfLink": "https://www.googleapis.com/storage/v1/b/chilkat-bucket/o/penguins.jpg",
"name": "penguins.jpg",
"bucket": "chilkat-bucket",
"generation": "1540253106941673",
"metageneration": "1",
"contentType": "image/jpeg",
"timeCreated": "2018-10-23T00:05:06.941Z",
"updated": "2018-10-23T00:05:06.941Z",
"storageClass": "MULTI_REGIONAL",
"timeStorageClassUpdated": "2018-10-23T00:05:06.941Z",
"size": "777835",
"md5Hash": "nTd7EM53jEk4s8fixjoimg==",
"mediaLink": "https://www.googleapis.com/download/storage/v1/b/chilkat-bucket/o/penguins.jpg?generation=1540253106941673&alt=media",
"crc32c": "ixxYVw==",
"etag": "COndtvqhm94CEAE="
},
{
"kind": "storage#object",
"id": "chilkat-bucket/starfish.jpg/1540253106637454",
"selfLink": "https://www.googleapis.com/storage/v1/b/chilkat-bucket/o/starfish.jpg",
"name": "starfish.jpg",
"bucket": "chilkat-bucket",
"generation": "1540253106637454",
"metageneration": "1",
"contentType": "image/jpeg",
"timeCreated": "2018-10-23T00:05:06.636Z",
"updated": "2018-10-23T00:05:06.636Z",
"storageClass": "MULTI_REGIONAL",
"timeStorageClassUpdated": "2018-10-23T00:05:06.636Z",
"size": "6229",
"md5Hash": "LpxZ2/JmI2fcl9/dqF2gSA==",
"mediaLink": "https://www.googleapis.com/download/storage/v1/b/chilkat-bucket/o/starfish.jpg?generation=1540253106637454&alt=media",
"crc32c": "9RjgwQ==",
"etag": "CI6VpPqhm94CEAE="
}
]
}