Sample code for 30+ languages & platforms
PureBasic

Delete a Google Cloud Storage Bucket

See more Google Cloud Storage Examples

Demonstrates how to delete a Google Cloud Storage bucket.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkHttp.pb"

Procedure ChilkatExample()

    success.i = 0

    ; 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.i = CkStringBuilder::ckCreate()
    If sbToken.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkStringBuilder::ckLoadFile(sbToken,"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.i = CkHttp::ckCreate()
    If http.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkHttp::setCkAuthToken(http, CkStringBuilder::ckGetAsString(sbToken))

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

    responseBody.s = CkHttp::ckQuickDeleteStr(http,url)
    If CkHttp::ckLastMethodSuccess(http) = 0
        Debug CkHttp::ckLastErrorText(http)
        CkStringBuilder::ckDispose(sbToken)
        CkHttp::ckDispose(http)
        ProcedureReturn
    EndIf

    responseCode.i = CkHttp::ckLastStatus(http)
    If responseCode = 401
        Debug responseBody
        Debug "If invalid credentials, then it is likely the access token expired."
        Debug "Your app should automatically fetch a new access token and re-try."
        CkStringBuilder::ckDispose(sbToken)
        CkHttp::ckDispose(http)
        ProcedureReturn
    EndIf

    ; A 204 response code indicates success..
    ; If not success, then examine the response code and response body..
    If responseCode <> 204
        Debug "Response code: " + Str(responseCode)
        Debug "Response body"
        Debug responseBody
    Else
        Debug "Success."
    EndIf



    CkStringBuilder::ckDispose(sbToken)
    CkHttp::ckDispose(http)


    ProcedureReturn
EndProcedure