B4X
B4X
Create a Google Cloud Storage Bucket
See more Google Cloud Storage Examples
Demonstrates how to create a Google Cloud Storage bucket.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"
' 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 ChilkatStringBuilder
sbToken.Initialize
sbToken.LoadFile("qa_data/tokens/googleCloudStorageAccessToken.txt", "utf-8")
' ---- Step 1
' Create a JSON that contains the following information, replacing [VALUES_IN_BRACKETS] with the appropriate values:
' {
' "name": "[BUCKET_NAME]",
' "location": "[BUCKET_LOCATION]",
' "storageClass": "[STORAGE_CLASS]"
' }
Dim json As ChilkatJsonObject
json.Initialize
json.UpdateString("name", "chilkat-ocean")
json.UpdateString("location", "us")
json.UpdateString("storageClass", "multi_regional")
' ---- Step 2
' Send a POST equivalent to this curl command
' curl -X POST --data-binary @[JSON_FILE_NAME].json \
' -H "Authorization: Bearer [OAUTH2_TOKEN]" \
' -H "Content-Type: application/json" \
' "https://www.googleapis.com/storage/v1/b?project=[PROJECT_ID]"
Dim http As ChilkatHttp
http.Initialize("http")
http.AuthToken = sbToken.GetAsString
http.SetUrlVar("project_id", "chilkat-176611")
Dim url As String = "https://www.googleapis.com/storage/v1/b?project={$project_id}"
Dim resp As ChilkatHttpResponse
resp.Initialize
success = http.HttpJson("POST", url, json, "application/json", 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")
Log(resp.BodyStr)
' A successful response looks like this:
' Response code: 200
' Response body
' {
' "kind": "storage#bucket",
' "id": "chilkat-ocean",
' "selfLink": "https://www.googleapis.com/storage/v1/b/chilkat-ocean",
' "projectNumber": "933037264567",
' "name": "chilkat-ocean",
' "timeCreated": "2017-08-13T12:27:10.811Z",
' "updated": "2017-08-13T12:27:10.811Z",
' "metageneration": "1",
' "location": "US",
' "storageClass": "MULTI_REGIONAL",
' "etag": "CAE="
' }
'
' Parse the JSON response:
Dim jsonResp As ChilkatJsonObject
jsonResp.Initialize
jsonResp.Load(resp.BodyStr)
Log("name: " & jsonResp.StringOf("name"))
Log("timeCreated: " & jsonResp.StringOf("timeCreated"))
' Parse the date/time created.
Dim dt As ChilkatDateTime
dt.Initialize
dt.SetFromTimestamp(jsonResp.StringOf("timeCreated"))
' ...