PureBasic
PureBasic
Create Google Photos Album
See more Google Photos Examples
Demonstrates how to create a Google Photos album.Chilkat PureBasic Downloads
IncludeFile "CkHttpResponse.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkJsonObject.pb"
Procedure ChilkatExample()
success.i = 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.
jsonToken.i = CkJsonObject::ckCreate()
If jsonToken.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkJsonObject::ckLoadFile(jsonToken,"qa_data/tokens/googlePhotos.json")
If success = 0
Debug CkJsonObject::ckLastErrorText(jsonToken)
CkJsonObject::ckDispose(jsonToken)
ProcedureReturn
EndIf
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkHttp::setCkAuthToken(http, CkJsonObject::ckStringOf(jsonToken,"access_token"))
; Create an album named "animals"
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateString(json,"album.title","animals")
resp.i = CkHttpResponse::ckCreate()
If resp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkHttp::ckHttpJson(http,"POST","https://photoslibrary.googleapis.com/v1/albums",json,"application/json",resp)
If success = 0
Debug CkHttp::ckLastErrorText(http)
CkJsonObject::ckDispose(jsonToken)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
CkHttpResponse::ckDispose(resp)
ProcedureReturn
EndIf
; Show the response body.
Debug CkHttpResponse::ckBodyStr(resp)
; Examine the response status code. Success is indicated by a status code of 200.
Debug "response status code: " + Str(CkHttpResponse::ckStatusCode(resp))
CkJsonObject::ckLoad(json,CkHttpResponse::ckBodyStr(resp))
; 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
id.s
title.s
productUrl.s
isWriteable.i
id = CkJsonObject::ckStringOf(json,"id")
title = CkJsonObject::ckStringOf(json,"title")
productUrl = CkJsonObject::ckStringOf(json,"productUrl")
isWriteable = CkJsonObject::ckBoolOf(json,"isWriteable")
Debug "id = " + id
CkJsonObject::ckDispose(jsonToken)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
CkHttpResponse::ckDispose(resp)
ProcedureReturn
EndProcedure