Sample code for 30+ languages & platforms
C#

Initiate Resumable Upload Session

See more Google Cloud Storage Examples

Initiate a Google Cloud Storage resumable upload session..

Chilkat C# Downloads

C#
bool success = false;

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

Chilkat.Http http = new Chilkat.Http();

Chilkat.JsonObject jsonToken = new Chilkat.JsonObject();
success = jsonToken.LoadFile("qa_data/tokens/googleCloudStorage.json");
if (success == false) {
    Debug.WriteLine(jsonToken.LastErrorText);
    return;
}

Chilkat.JsonObject jsonMetaData = new Chilkat.JsonObject();
jsonMetaData.UpdateString("contentType","image/jpeg");

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

http.SetUrlVar("bucket_name","chilkat-bucket-b");
http.SetUrlVar("object_name","penguins2.jpg");
string url = "https://storage.googleapis.com/upload/storage/v1/b/{$bucket_name}/o?uploadType=resumable&name={$object_name}";
Chilkat.HttpResponse resp = new Chilkat.HttpResponse();
success = http.HttpJson("POST",url,jsonMetaData,"application/json",resp);
if (success == false) {
    Debug.WriteLine(http.LastErrorText);
    return;
}

int statusCode = resp.StatusCode;
Debug.WriteLine("response status code = " + Convert.ToString(statusCode));

string sessionUrl = "";

if (statusCode != 200) {
    Debug.WriteLine(resp.BodyStr);
}
else {
    // The session URL will be used to upload the file in chunks, in subsequent HTTP POSTs...
    sessionUrl = resp.GetHeaderField("Location");
    Debug.WriteLine("Session URL = " + sessionUrl);
}