Sample code for 30+ languages & platforms
Visual FoxPro

Create Google Photos Album

See more Google Photos Examples

Demonstrates how to create a Google Photos album.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loJsonToken
LOCAL loHttp
LOCAL loJson
LOCAL loResp
LOCAL lcId
LOCAL lcTitle
LOCAL lcProductUrl
LOCAL lnIsWriteable

lnSuccess = 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.

loJsonToken = CreateObject('Chilkat.JsonObject')
lnSuccess = loJsonToken.LoadFile("qa_data/tokens/googlePhotos.json")
IF (lnSuccess = 0) THEN
    ? loJsonToken.LastErrorText
    RELEASE loJsonToken
    CANCEL
ENDIF

loHttp = CreateObject('Chilkat.Http')

loHttp.AuthToken = loJsonToken.StringOf("access_token")

* Create an album named "animals"
loJson = CreateObject('Chilkat.JsonObject')
loJson.UpdateString("album.title","animals")

loResp = CreateObject('Chilkat.HttpResponse')
lnSuccess = loHttp.HttpJson("POST","https://photoslibrary.googleapis.com/v1/albums",loJson,"application/json",loResp)
IF (lnSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loJsonToken
    RELEASE loHttp
    RELEASE loJson
    RELEASE loResp
    CANCEL
ENDIF

* Show the response body.
? loResp.BodyStr

* Examine the response status code.  Success is indicated by a status code of 200.
? "response status code: " + STR(loResp.StatusCode)

loJson.Load(loResp.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

lcId = loJson.StringOf("id")
lcTitle = loJson.StringOf("title")
lcProductUrl = loJson.StringOf("productUrl")
lnIsWriteable = loJson.BoolOf("isWriteable")

? "id = " + lcId

RELEASE loJsonToken
RELEASE loHttp
RELEASE loJson
RELEASE loResp