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"
#include <C_CkRest.h>
#include <C_CkStringBuilder.h>
#include <C_CkJsonObject.h>
void ChilkatSample(void)
{
HCkRest rest;
BOOL success;
BOOL bTls;
int port;
BOOL bAutoReconnect;
HCkStringBuilder sbResponseBody;
int respStatusCode;
HCkJsonObject jsonResponse;
int i;
int count_i;
const char *kind;
const char *id;
const char *selfLink;
const char *name;
const char *bucket;
const char *generation;
const char *metageneration;
const char *contentType;
const char *timeCreated;
const char *updated;
const char *storageClass;
const char *timeStorageClassUpdated;
const char *size;
const char *md5Hash;
const char *mediaLink;
const char *crc32c;
const char *etag;
rest = CkRest_Create();
// URL: https://www.googleapis.com/storage/v1/b/chilkat-bucket/o?project=MY_CLOUD_STORAGE_PROJECT
bTls = TRUE;
port = 443;
bAutoReconnect = TRUE;
success = CkRest_Connect(rest,"www.googleapis.com",port,bTls,bAutoReconnect);
if (success != TRUE) {
printf("ConnectFailReason: %d\n",CkRest_getConnectFailReason(rest));
printf("%s\n",CkRest_lastErrorText(rest));
CkRest_Dispose(rest);
return;
}
CkRest_AddHeader(rest,"Authorization","Bearer CLOUD_STORAGE_TOKEN");
sbResponseBody = CkStringBuilder_Create();
success = CkRest_FullRequestNoBodySb(rest,"GET","/storage/v1/b/chilkat-bucket/o?project=MY_CLOUD_STORAGE_PROJECT",sbResponseBody);
if (success != TRUE) {
printf("%s\n",CkRest_lastErrorText(rest));
CkRest_Dispose(rest);
CkStringBuilder_Dispose(sbResponseBody);
return;
}
respStatusCode = CkRest_getResponseStatusCode(rest);
if (respStatusCode >= 400) {
printf("Response Status Code = %d\n",respStatusCode);
printf("Response Header:\n");
printf("%s\n",CkRest_responseHeader(rest));
printf("Response Body:\n");
printf("%s\n",CkStringBuilder_getAsString(sbResponseBody));
CkRest_Dispose(rest);
CkStringBuilder_Dispose(sbResponseBody);
return;
}
jsonResponse = CkJsonObject_Create();
CkJsonObject_LoadSb(jsonResponse,sbResponseBody);
// See the Online Tool for Generating JSON Parse Code
kind = CkJsonObject_stringOf(jsonResponse,"kind");
i = 0;
count_i = CkJsonObject_SizeOfArray(jsonResponse,"items");
while (i < count_i) {
CkJsonObject_putI(jsonResponse,i);
kind = CkJsonObject_stringOf(jsonResponse,"items[i].kind");
id = CkJsonObject_stringOf(jsonResponse,"items[i].id");
selfLink = CkJsonObject_stringOf(jsonResponse,"items[i].selfLink");
name = CkJsonObject_stringOf(jsonResponse,"items[i].name");
bucket = CkJsonObject_stringOf(jsonResponse,"items[i].bucket");
generation = CkJsonObject_stringOf(jsonResponse,"items[i].generation");
metageneration = CkJsonObject_stringOf(jsonResponse,"items[i].metageneration");
contentType = CkJsonObject_stringOf(jsonResponse,"items[i].contentType");
timeCreated = CkJsonObject_stringOf(jsonResponse,"items[i].timeCreated");
updated = CkJsonObject_stringOf(jsonResponse,"items[i].updated");
storageClass = CkJsonObject_stringOf(jsonResponse,"items[i].storageClass");
timeStorageClassUpdated = CkJsonObject_stringOf(jsonResponse,"items[i].timeStorageClassUpdated");
size = CkJsonObject_stringOf(jsonResponse,"items[i].size");
md5Hash = CkJsonObject_stringOf(jsonResponse,"items[i].md5Hash");
mediaLink = CkJsonObject_stringOf(jsonResponse,"items[i].mediaLink");
crc32c = CkJsonObject_stringOf(jsonResponse,"items[i].crc32c");
etag = CkJsonObject_stringOf(jsonResponse,"items[i].etag");
i = i + 1;
}
CkRest_Dispose(rest);
CkStringBuilder_Dispose(sbResponseBody);
CkJsonObject_Dispose(jsonResponse);
}
{
"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="
}
]
}