Sample code for 30+ languages & platforms
Xbase++

Create Google Photos Album

See more Google Photos Examples

Demonstrates how to create a Google Photos album.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oJsonToken
LOCAL oHttp
LOCAL oJson
LOCAL oResp
LOCAL cId
LOCAL cTitle
LOCAL cProductUrl
LOCAL nIsWriteable

nSuccess := 0

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

//  Get the previously obtained access token.
//  See Get Google Photos Access Token.

oJsonToken := CreateObject("Chilkat.JsonObject")
nSuccess := oJsonToken:LoadFile("qa_data/tokens/googlePhotos.json")
IF (nSuccess == 0)
    ? oJsonToken:LastErrorText
    oJsonToken:destroy()
    RETURN
ENDIF

oHttp := CreateObject("Chilkat.Http")

oHttp:AuthToken := oJsonToken:StringOf("access_token")

//  Create an album named "animals"
oJson := CreateObject("Chilkat.JsonObject")
oJson:UpdateString("album.title", "animals")

oResp := CreateObject("Chilkat.HttpResponse")
nSuccess := oHttp:HttpJson("POST", "https://photoslibrary.googleapis.com/v1/albums", oJson, "application/json", oResp)
IF (nSuccess == 0)
    ? oHttp:LastErrorText
    oJsonToken:destroy()
    oHttp:destroy()
    oJson:destroy()
    oResp:destroy()
    RETURN
ENDIF

//  Show the response body.
? oResp:BodyStr

//  Examine the response status code.  Success is indicated by a status code of 200.
? "response status code: " + Str(oResp:StatusCode)

oJson:Load(oResp:BodyStr)

//  Sample response:

//  {
//    "id": "AKcbugHaQTvUKSi3M2RQxOhxhdEaLc5mfUcqFoIU_kpQaROyUD70BcFt7_mnz5PcwwsjPKeKnLHN",
//    "title": "animals",
//    "productUrl": "https://photos.google.com/lr/album/AKcbugHaQTvUKSi3M2RQxOhxhdEaLc5mfUcqFoIU_kpQaROyUD70BcFt7_mnz5PcwwsjPKeKnLHN",
//    "isWriteable": true
//  }

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

cId := oJson:StringOf("id")
cTitle := oJson:StringOf("title")
cProductUrl := oJson:StringOf("productUrl")
nIsWriteable := oJson:BoolOf("isWriteable")

? "id = " + cId

oJsonToken:destroy()
oHttp:destroy()
oJson:destroy()
oResp:destroy()