Sample code for 30+ languages & platforms
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

B4X
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"))
'  ...