Sample code for 30+ languages & platforms
Xojo Plugin

Initiate Resumable Upload Session

See more Google Cloud Storage Examples

Initiate a Google Cloud Storage resumable upload session..

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

Dim http As New Chilkat.Http

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 jsonMetaData As New Chilkat.JsonObject
success = jsonMetaData.UpdateString("contentType","image/jpeg")

// Adds the "Authorization: Bearer <access_token>" header..
http.AuthToken = jsonToken.StringOf("access_token")

success = http.SetUrlVar("bucket_name","chilkat-bucket-b")
success = http.SetUrlVar("object_name","penguins2.jpg")
Dim url As String
url = "https://storage.googleapis.com/upload/storage/v1/b/{$bucket_name}/o?uploadType=resumable&name={$object_name}"
Dim resp As New Chilkat.HttpResponse
success = http.HttpJson("POST",url,jsonMetaData,"application/json",resp)
If (success = False) Then
    System.DebugLog(http.LastErrorText)
    Return
End If

Dim statusCode As Int32
statusCode = resp.StatusCode
System.DebugLog("response status code = " + Str(statusCode))

Dim sessionUrl As String
sessionUrl = ""

If (statusCode <> 200) Then
    System.DebugLog(resp.BodyStr)
Else
    // The session URL will be used to upload the file in chunks, in subsequent HTTP POSTs...
    sessionUrl = resp.GetHeaderField("Location")
    System.DebugLog("Session URL = " + sessionUrl)
End If