Xojo Plugin
Xojo Plugin
Google Cloud Storage List Buckets
See more Google Cloud Storage Examples
Demonstrates how to retrieve a list of buckets for a given project.Chilkat Xojo Plugin Downloads
Dim success As Boolean
success = 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 New Chilkat.JsonObject
success = jsonToken.LoadFile("qa_data/tokens/googleCloudStorage.json")
If (success = False) Then
System.DebugLog(jsonToken.LastErrorText)
Return
End If
Dim http As New Chilkat.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 New Chilkat.HttpResponse
success = http.HttpNoBody("GET","https://www.googleapis.com/storage/v1/b?project={$PROJECT_ID}",resp)
If (success = False) Then
System.DebugLog(http.LastErrorText)
Return
End If
Dim responseCode As Int32
responseCode = resp.StatusCode
If (responseCode = 401) Then
System.DebugLog(resp.BodyStr)
System.DebugLog("If invalid credentials, then it is likely the access token expired.")
System.DebugLog("Your app should automatically fetch a new access token and re-try.")
Return
End If
System.DebugLog("Response code: " + Str(responseCode))
System.DebugLog("Response body")
Dim json As New Chilkat.JsonObject
success = json.Load(resp.BodyStr)
json.EmitCompact = False
System.DebugLog(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 Int32
Dim count_i As Int32
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")
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
Wend