Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(C) Google Cloud Storage List BucketsSee more Google Cloud Storage ExamplesDemonstrates how to retrieve a list of buckets for a given project.
#include <C_CkJsonObject.h> #include <C_CkHttp.h> #include <C_CkHttpResponse.h> void ChilkatSample(void) { HCkJsonObject jsonToken; BOOL success; HCkHttp http; HCkHttpResponse resp; int responseCode; HCkJsonObject json; const char *kind; int i; int count_i; const char *id; const char *selfLink; const char *projectNumber; const char *name; const char *timeCreated; const char *updated; const char *metageneration; BOOL iamConfigurationBucketPolicyOnlyEnabled; const char *location; const char *storageClass; const char *etag; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // This example uses a previously obtained access token having permission for the // scope "https://www.googleapis.com/auth/cloud-platform" jsonToken = CkJsonObject_Create(); success = CkJsonObject_LoadFile(jsonToken,"qa_data/tokens/googleCloudStorage.json"); if (success == FALSE) { printf("%s\n",CkJsonObject_lastErrorText(jsonToken)); CkJsonObject_Dispose(jsonToken); return; } http = CkHttp_Create(); CkHttp_putAuthToken(http,CkJsonObject_stringOf(jsonToken,"access_token")); // For more info see Cloud Storage Documentation - Buckets: list // success = CkHttp_SetUrlVar(http,"PROJECT_ID","chilkattest-1050"); resp = CkHttp_QuickGetObj(http,"https://www.googleapis.com/storage/v1/b?project={$PROJECT_ID}"); if (CkHttp_getLastMethodSuccess(http) == FALSE) { printf("%s\n",CkHttp_lastErrorText(http)); CkJsonObject_Dispose(jsonToken); CkHttp_Dispose(http); return; } responseCode = CkHttpResponse_getStatusCode(resp); if (responseCode == 401) { printf("%s\n",CkHttpResponse_bodyStr(resp)); printf("If invalid credentials, then it is likely the access token expired.\n"); printf("Your app should automatically fetch a new access token and re-try.\n"); CkHttpResponse_Dispose(resp); CkJsonObject_Dispose(jsonToken); CkHttp_Dispose(http); return; } printf("Response code: %d\n",responseCode); printf("Response body\n"); json = CkJsonObject_Create(); success = CkJsonObject_Load(json,CkHttpResponse_bodyStr(resp)); CkHttpResponse_Dispose(resp); CkJsonObject_putEmitCompact(json,FALSE); printf("%s\n",CkJsonObject_emit(json)); // A response code = 200 indicates success, and the response body contains JSON such as this: // { // "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", // "iamConfiguration": { // "bucketPolicyOnly": { // "enabled": false // } // }, // "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", // "iamConfiguration": { // "bucketPolicyOnly": { // "enabled": false // } // }, // "location": "US", // "storageClass": "MULTI_REGIONAL", // "etag": "CAE=" // } // ] // } // Use this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON kind = CkJsonObject_stringOf(json,"kind"); i = 0; count_i = CkJsonObject_SizeOfArray(json,"items"); while (i < count_i) { CkJsonObject_putI(json,i); kind = CkJsonObject_stringOf(json,"items[i].kind"); id = CkJsonObject_stringOf(json,"items[i].id"); selfLink = CkJsonObject_stringOf(json,"items[i].selfLink"); projectNumber = CkJsonObject_stringOf(json,"items[i].projectNumber"); name = CkJsonObject_stringOf(json,"items[i].name"); timeCreated = CkJsonObject_stringOf(json,"items[i].timeCreated"); updated = CkJsonObject_stringOf(json,"items[i].updated"); metageneration = CkJsonObject_stringOf(json,"items[i].metageneration"); iamConfigurationBucketPolicyOnlyEnabled = CkJsonObject_BoolOf(json,"items[i].iamConfiguration.bucketPolicyOnly.enabled"); location = CkJsonObject_stringOf(json,"items[i].location"); storageClass = CkJsonObject_stringOf(json,"items[i].storageClass"); etag = CkJsonObject_stringOf(json,"items[i].etag"); i = i + 1; } CkJsonObject_Dispose(jsonToken); CkHttp_Dispose(http); CkJsonObject_Dispose(json); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.