Sample code for 30+ languages & platforms
Classic ASP

Google Cloud Storage List Buckets

See more Google Cloud Storage Examples

Demonstrates how to retrieve a list of buckets for a given project.

Chilkat Classic ASP Downloads

Classic ASP
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 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"

set jsonToken = Server.CreateObject("Chilkat.JsonObject")
success = jsonToken.LoadFile("qa_data/tokens/googleCloudStorage.json")
If (success = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( jsonToken.LastErrorText) & "</pre>"
    Response.End
End If

set http = Server.CreateObject("Chilkat.Http")
http.AuthToken = jsonToken.StringOf("access_token")

' For more info see Cloud Storage Documentation - Buckets: list 
' 
success = http.SetUrlVar("PROJECT_ID","chilkattest-1050")
set resp = Server.CreateObject("Chilkat.HttpResponse")
success = http.HttpNoBody("GET","https://www.googleapis.com/storage/v1/b?project={$PROJECT_ID}",resp)
If (success = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( http.LastErrorText) & "</pre>"
    Response.End
End If

responseCode = resp.StatusCode
If (responseCode = 401) Then
    Response.Write "<pre>" & Server.HTMLEncode( resp.BodyStr) & "</pre>"
    Response.Write "<pre>" & Server.HTMLEncode( "If invalid credentials, then it is likely the access token expired.") & "</pre>"
    Response.Write "<pre>" & Server.HTMLEncode( "Your app should automatically fetch a new access token and re-try.") & "</pre>"
    Response.End
End If

Response.Write "<pre>" & Server.HTMLEncode( "Response code: " & responseCode) & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( "Response body") & "</pre>"

set json = Server.CreateObject("Chilkat.JsonObject")
success = json.Load(resp.BodyStr)

json.EmitCompact = 0

Response.Write "<pre>" & Server.HTMLEncode( json.Emit()) & "</pre>"

' A response code = 200 indicates success, and the response body contains JSON such as this:

' {
'   "kind": "storage#buckets",
'   "items": [
'     {
'       "kind": "storage#bucket",
'       "id": "chilkat-bucket",
'       "selfLink": "https://www.googleapis.com/storage/v1/b/chilkat-bucket",
'       "projectNumber": "5332332985",
'       "name": "chilkat-bucket",
'       "timeCreated": "2018-10-23T00:04:44.507Z",
'       "updated": "2018-10-23T00:04:44.507Z",
'       "metageneration": "1",
'       "iamConfiguration": {
'         "bucketPolicyOnly": {
'           "enabled": false
'         }
'       },
'       "location": "US",
'       "storageClass": "MULTI_REGIONAL",
'       "etag": "CAE="
'     },
'     {
'       "kind": "storage#bucket",
'       "id": "chilkat-images",
'       "selfLink": "https://www.googleapis.com/storage/v1/b/chilkat-images",
'       "projectNumber": "5332332985",
'       "name": "chilkat-images",
'       "timeCreated": "2018-10-23T11:24:43.000Z",
'       "updated": "2018-10-23T11:24:43.000Z",
'       "metageneration": "1",
'       "iamConfiguration": {
'         "bucketPolicyOnly": {
'           "enabled": false
'         }
'       },
'       "location": "US",
'       "storageClass": "MULTI_REGIONAL",
'       "etag": "CAE="
'     }
'   ]
' }

' Use this online tool to generate parsing code from sample JSON: 
' Generate Parsing Code from JSON

kind = json.StringOf("kind")
i = 0
count_i = json.SizeOfArray("items")
Do While i < count_i
    json.I = i
    kind = json.StringOf("items[i].kind")
    id = json.StringOf("items[i].id")
    selfLink = json.StringOf("items[i].selfLink")
    projectNumber = json.StringOf("items[i].projectNumber")
    name = json.StringOf("items[i].name")
    timeCreated = json.StringOf("items[i].timeCreated")
    updated = json.StringOf("items[i].updated")
    metageneration = json.StringOf("items[i].metageneration")
    iamConfigurationBucketPolicyOnlyEnabled = json.BoolOf("items[i].iamConfiguration.bucketPolicyOnly.enabled")
    location = json.StringOf("items[i].location")
    storageClass = json.StringOf("items[i].storageClass")
    etag = json.StringOf("items[i].etag")
    i = i + 1
Loop

%>
</body>
</html>