Visual Basic 6.0
Visual Basic 6.0
Google Cloud Storage List Bucket Objects
See more Google Cloud Storage Examples
List the objects in a Google Cloud Storage bucket.Chilkat Visual Basic 6.0 Downloads
Dim success As Long
success = 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..
Dim sbToken As New ChilkatStringBuilder
success = sbToken.LoadFile("qa_data/tokens/googleCloudStorageAccessToken.txt","utf-8")
Dim http As New ChilkatHttp
http.AuthToken = sbToken.GetAsString()
' For more info see Cloud Storage Documentation - Objects: list
'
success = http.SetUrlVar("bucket","chilkat-ocean")
success = http.SetUrlVar("PROJECT_NAME","ChilkatCloud")
Dim resp As New ChilkatHttpResponse
success = http.HttpNoBody("GET","https://www.googleapis.com/storage/v1/b/{$bucket}/o?project={$ChilkatCloud}",resp)
If (success = 0) Then
Debug.Print http.LastErrorText
Exit Sub
End If
Dim responseCode As Long
responseCode = resp.StatusCode
If (responseCode = 401) Then
Debug.Print resp.BodyStr
Debug.Print "If invalid credentials, then it is likely the access token expired."
Debug.Print "Your app should automatically fetch a new access token and re-try."
Exit Sub
End If
Debug.Print "Response code: " & responseCode
Debug.Print "Response body"
Dim json As New ChilkatJsonObject
success = json.Load(resp.BodyStr)
json.EmitCompact = 0
Debug.Print json.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
Dim id As String
Dim selfLink As String
Dim mediaLink As String
Dim name As String
Dim bucket As String
Dim generation As String
Dim metageneration As String
Dim contentType As String
Dim storageClass As String
Dim size As String
Dim md5Hash As String
Dim crc32c As String
Dim etag As String
Dim timeCreated As String
Dim updated As String
Dim timeStorageClassUpdated As String
Dim kind As String
kind = json.StringOf("kind")
Dim i As Long
i = 0
Dim count_i As Long
count_i = json.SizeOfArray("items")
Do While i < count_i
json.I = i
kind = json.StringOf("items[i].kind")
id = json.StringOf("items[i].id")
selfLink = json.StringOf("items[i].selfLink")
mediaLink = json.StringOf("items[i].mediaLink")
name = json.StringOf("items[i].name")
bucket = json.StringOf("items[i].bucket")
generation = json.StringOf("items[i].generation")
metageneration = json.StringOf("items[i].metageneration")
contentType = json.StringOf("items[i].contentType")
storageClass = json.StringOf("items[i].storageClass")
size = json.StringOf("items[i].size")
md5Hash = json.StringOf("items[i].md5Hash")
crc32c = json.StringOf("items[i].crc32c")
etag = json.StringOf("items[i].etag")
timeCreated = json.StringOf("items[i].timeCreated")
updated = json.StringOf("items[i].updated")
timeStorageClassUpdated = json.StringOf("items[i].timeStorageClassUpdated")
i = i + 1
Loop