VB.NET
VB.NET
Google Cloud Storage List Bucket Objects
See more Google Cloud Storage Examples
List the objects in a Google Cloud Storage bucket.Chilkat VB.NET Downloads
Dim success As Boolean = False
' 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 Chilkat.StringBuilder
sbToken.LoadFile("qa_data/tokens/googleCloudStorageAccessToken.txt","utf-8")
Dim http As New Chilkat.Http
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 Chilkat.HttpResponse
success = http.HttpNoBody("GET","https://www.googleapis.com/storage/v1/b/{$bucket}/o?project={$ChilkatCloud}",resp)
If (success = False) Then
Debug.WriteLine(http.LastErrorText)
Exit Sub
End If
Dim responseCode As Integer = resp.StatusCode
If (responseCode = 401) Then
Debug.WriteLine(resp.BodyStr)
Debug.WriteLine("If invalid credentials, then it is likely the access token expired.")
Debug.WriteLine("Your app should automatically fetch a new access token and re-try.")
Exit Sub
End If
Debug.WriteLine("Response code: " & responseCode)
Debug.WriteLine("Response body")
Dim json As New Chilkat.JsonObject
success = json.Load(resp.BodyStr)
json.EmitCompact = False
Debug.WriteLine(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 = json.StringOf("kind")
Dim i As Integer = 0
Dim count_i As Integer = json.SizeOfArray("items")
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
End While