Sample code for 30+ languages & platforms
Visual FoxPro

Delete a Google Cloud Storage Bucket

See more Google Cloud Storage Examples

Demonstrates how to delete a Google Cloud Storage bucket.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loSbToken
LOCAL loHttp
LOCAL lcUrl
LOCAL lcResponseBody
LOCAL lnResponseCode

lnSuccess = 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..
loSbToken = CreateObject('Chilkat.StringBuilder')
loSbToken.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]"
* 
loHttp = CreateObject('Chilkat.Http')
loHttp.AuthToken = loSbToken.GetAsString()

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

lcResponseBody = loHttp.QuickDeleteStr(lcUrl)
IF (loHttp.LastMethodSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loSbToken
    RELEASE loHttp
    CANCEL
ENDIF

lnResponseCode = loHttp.LastStatus
IF (lnResponseCode = 401) THEN
    ? lcResponseBody
    ? "If invalid credentials, then it is likely the access token expired."
    ? "Your app should automatically fetch a new access token and re-try."
    RELEASE loSbToken
    RELEASE loHttp
    CANCEL
ENDIF

* A 204 response code indicates success..
* If not success, then examine the response code and response body..
IF (lnResponseCode <> 204) THEN
    ? "Response code: " + STR(lnResponseCode)
    ? "Response body"
    ? lcResponseBody
ELSE
    ? "Success."
ENDIF

RELEASE loSbToken
RELEASE loHttp