B4X
B4X
Google Cloud Storage List Buckets
See more Google Cloud Storage Examples
Demonstrates how to retrieve a list of buckets for a given project.Chilkat B4X 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"
Dim jsonToken As ChilkatJsonObject
jsonToken.Initialize
success = jsonToken.LoadFile("qa_data/tokens/googleCloudStorage.json")
If success = False Then
Log(jsonToken.LastErrorText)
Return
End If
Dim http As ChilkatHttp
http.Initialize("http")
http.AuthToken = jsonToken.StringOf("access_token")
' For more info see Cloud Storage Documentation - Buckets: list
'
success = http.SetUrlVar("PROJECT_ID", "chilkattest-1050")
Dim resp As ChilkatHttpResponse
resp.Initialize
success = http.HttpNoBody("GET", "https://www.googleapis.com/storage/v1/b?project={$PROJECT_ID}", resp)
If success = False Then
Log(http.LastErrorText)
Return
End If
Dim responseCode As Int = resp.StatusCode
If responseCode = 401 Then
Log(resp.BodyStr)
Log("If invalid credentials, then it is likely the access token expired.")
Log("Your app should automatically fetch a new access token and re-try.")
Return
End If
Log("Response code: " & responseCode)
Log("Response body")
Dim json As ChilkatJsonObject
json.Initialize
success = json.Load(resp.BodyStr)
json.EmitCompact = False
Log(json.Emit)
' 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
Dim kind As String
Dim i As Int
Dim count_i As Int
Dim id As String
Dim selfLink As String
Dim projectNumber As String
Dim name As String
Dim timeCreated As String
Dim updated As String
Dim metageneration As String
Dim iamConfigurationBucketPolicyOnlyEnabled As Boolean
Dim location As String
Dim storageClass As String
Dim etag As String
kind = json.StringOf("kind")
i = 0
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")
projectNumber = json.StringOf("items[i].projectNumber")
name = json.StringOf("items[i].name")
timeCreated = json.StringOf("items[i].timeCreated")
updated = json.StringOf("items[i].updated")
metageneration = json.StringOf("items[i].metageneration")
iamConfigurationBucketPolicyOnlyEnabled = json.BoolOf("items[i].iamConfiguration.bucketPolicyOnly.enabled")
location = json.StringOf("items[i].location")
storageClass = json.StringOf("items[i].storageClass")
etag = json.StringOf("items[i].etag")
i = i + 1
Loop