|  | 
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
| (Visual FoxPro) Google Cloud Storage List Bucket ObjectsSee more Google Cloud Storage ExamplesList the objects in a Google Cloud Storage bucket.Note: This example requires Chilkat v11.0.0 or greater. For more information, see https://cloud.google.com/storage/docs/json_api/v1/objects/list 
 LOCAL lnSuccess LOCAL loSbToken LOCAL loHttp LOCAL loResp LOCAL lnResponseCode LOCAL loJson LOCAL lcId LOCAL lcSelfLink LOCAL lcMediaLink LOCAL lcName LOCAL lcBucket LOCAL lcGeneration LOCAL lcMetageneration LOCAL lcContentType LOCAL lcStorageClass LOCAL lcSize LOCAL lcMd5Hash LOCAL lcCrc32c LOCAL lcEtag LOCAL lcTimeCreated LOCAL lcUpdated LOCAL lcTimeStorageClassUpdated LOCAL lcKind LOCAL i LOCAL lnCount_i lnSuccess = 0 * 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" * In this example, Get Google Cloud Storage OAuth2 Access Token, * the service account access token was saved to a text file. This example fetches the access token from the file.. loSbToken = CreateObject('Chilkat.StringBuilder') loSbToken.LoadFile("qa_data/tokens/googleCloudStorageAccessToken.txt","utf-8") loHttp = CreateObject('Chilkat.Http') loHttp.AuthToken = loSbToken.GetAsString() * For more info see Cloud Storage Documentation - Objects: list * lnSuccess = loHttp.SetUrlVar("bucket","chilkat-ocean") lnSuccess = loHttp.SetUrlVar("PROJECT_NAME","ChilkatCloud") loResp = CreateObject('Chilkat.HttpResponse') lnSuccess = loHttp.HttpNoBody("GET","https://www.googleapis.com/storage/v1/b/{$bucket}/o?project={$ChilkatCloud}",loResp) IF (lnSuccess = 0) THEN ? loHttp.LastErrorText RELEASE loSbToken RELEASE loHttp RELEASE loResp CANCEL ENDIF lnResponseCode = loResp.StatusCode IF (lnResponseCode = 401) THEN ? loResp.BodyStr ? "If invalid credentials, then it is likely the access token expired." ? "Your app should automatically fetch a new access token and re-try." RELEASE loSbToken RELEASE loHttp RELEASE loResp CANCEL ENDIF ? "Response code: " + STR(lnResponseCode) ? "Response body" loJson = CreateObject('Chilkat.JsonObject') lnSuccess = loJson.Load(loResp.BodyStr) loJson.EmitCompact = 0 ? loJson.Emit() * A response code = 200 indicates success, and the response body contains JSON such as this: * { * "kind": "storage#objects", * "items": [ * { * "kind": "storage#object", * "id": "chilkat-ocean/file with space char.jpg/1555776690752366", * "selfLink": "https://www.googleapis.com/storage/v1/b/chilkat-ocean/o/file%20with%20space%20char.jpg", * "mediaLink": "https://www.googleapis.com/download/storage/v1/b/chilkat-ocean/o/file%20with%20space%20char.jpg?generation=1555776690752366&alt=media", * "name": "file with space char.jpg", * "bucket": "chilkat-ocean", * "generation": "1555776690752366", * "metageneration": "1", * "contentType": "image/jpeg", * "storageClass": "MULTI_REGIONAL", * "size": "6229", * "md5Hash": "LpxZ2/JmI2fcl9/dqF2gSA==", * "crc32c": "9RjgwQ==", * "etag": "CO6WguiH3+ECEAE=", * "timeCreated": "2019-04-20T16:11:30.752Z", * "updated": "2019-04-20T16:11:30.752Z", * "timeStorageClassUpdated": "2019-04-20T16:11:30.752Z" * }, * { * "kind": "storage#object", * * "id": "chilkat-ocean/penguins.jpg/1555775749593296", * "selfLink": "https://www.googleapis.com/storage/v1/b/chilkat-ocean/o/penguins.jpg", * "mediaLink": "https://www.googleapis.com/download/storage/v1/b/chilkat-ocean/o/penguins.jpg?generation=1555775749593296&alt=media", * "name": "penguins.jpg", * "bucket": "chilkat-ocean", * "generation": "1555775749593296", * "metageneration": "1", * "contentType": "image/jpeg", * "storageClass": "MULTI_REGIONAL", * "size": "777835", * "md5Hash": "nTd7EM53jEk4s8fixjoimg==", * "crc32c": "ixxYVw==", * "etag": "CNCxnqeE3+ECEAE=", * "timeCreated": "2019-04-20T15:55:49.593Z", * "updated": "2019-04-20T15:55:49.593Z", * "timeStorageClassUpdated": "2019-04-20T15:55:49.593Z" * }, * { * "kind": "storage#object", * "id": "chilkat-ocean/starfish.jpg/1628958192639968", * "selfLink": "https://www.googleapis.com/storage/v1/b/chilkat-ocean/o/starfish.jpg", * "mediaLink": "https://www.googleapis.com/download/storage/v1/b/chilkat-ocean/o/starfish.jpg?generation=1628958192639968&alt=media", * "name": "starfish.jpg", * "bucket": "chilkat-ocean", * "generation": "1628958192639968", * "metageneration": "1", * "contentType": "image/jpeg", * "storageClass": "MULTI_REGIONAL", * "size": "6229", * "md5Hash": "LpxZ2/JmI2fcl9/dqF2gSA==", * "crc32c": "9RjgwQ==", * "etag": "COC/tJP2sPICEAE=", * "timeCreated": "2021-08-14T16:23:12.660Z", * "updated": "2021-08-14T16:23:12.660Z", * "timeStorageClassUpdated": "2021-08-14T16:23:12.660Z" * } * ] * } * Use this online tool to generate parsing code from sample JSON: * Generate Parsing Code from JSON lcKind = loJson.StringOf("kind") i = 0 lnCount_i = loJson.SizeOfArray("items") DO WHILE i < lnCount_i loJson.I = i lcKind = loJson.StringOf("items[i].kind") lcId = loJson.StringOf("items[i].id") lcSelfLink = loJson.StringOf("items[i].selfLink") lcMediaLink = loJson.StringOf("items[i].mediaLink") lcName = loJson.StringOf("items[i].name") lcBucket = loJson.StringOf("items[i].bucket") lcGeneration = loJson.StringOf("items[i].generation") lcMetageneration = loJson.StringOf("items[i].metageneration") lcContentType = loJson.StringOf("items[i].contentType") lcStorageClass = loJson.StringOf("items[i].storageClass") lcSize = loJson.StringOf("items[i].size") lcMd5Hash = loJson.StringOf("items[i].md5Hash") lcCrc32c = loJson.StringOf("items[i].crc32c") lcEtag = loJson.StringOf("items[i].etag") lcTimeCreated = loJson.StringOf("items[i].timeCreated") lcUpdated = loJson.StringOf("items[i].updated") lcTimeStorageClassUpdated = loJson.StringOf("items[i].timeStorageClassUpdated") i = i + 1 ENDDO RELEASE loSbToken RELEASE loHttp RELEASE loResp RELEASE loJson | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.