Sample code for 30+ languages & platforms
Go

Delete a Google Cloud Storage Bucket

See more Google Cloud Storage Examples

Demonstrates how to delete a Google Cloud Storage bucket.

Chilkat Go Downloads

Go
    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"

    // 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..
    sbToken := chilkat.NewStringBuilder()
    sbToken.LoadFile("qa_data/tokens/googleCloudStorageAccessToken.txt","utf-8")

    // Send a DELETE equivalent to this curl command

    // curl -X DELETE -H "Authorization: Bearer [OAUTH2_TOKEN]" \
    //     "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]"
    // 
    http := chilkat.NewHttp()
    http.SetAuthToken(sbToken.GetAsString())

    http.SetUrlVar("bucket_name","chilkat-ocean")
    url := "https://www.googleapis.com/storage/v1/b/{$bucket_name}"

    responseBody := http.QuickDeleteStr(url)
    if http.LastMethodSuccess() == false {
        fmt.Println(http.LastErrorText())
        sbToken.DisposeStringBuilder()
        http.DisposeHttp()
        return
    }

    responseCode := http.LastStatus()
    if responseCode == 401 {
        fmt.Println(*responseBody)
        fmt.Println("If invalid credentials, then it is likely the access token expired.")
        fmt.Println("Your app should automatically fetch a new access token and re-try.")
        sbToken.DisposeStringBuilder()
        http.DisposeHttp()
        return
    }

    // A 204 response code indicates success..
    // If not success, then examine the response code and response body..
    if responseCode != 204 {
        fmt.Println("Response code: ", responseCode)
        fmt.Println("Response body")
        fmt.Println(*responseBody)
    } else {
        fmt.Println("Success.")
    }


    sbToken.DisposeStringBuilder()
    http.DisposeHttp()