Sample code for 30+ languages & platforms
Lua

List Google Photos Albums

See more Google Photos Examples

Demonstrates how to get a list of Google Photos albums.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

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

local jsonToken = chilkat.JsonObject.new()
local success = jsonToken:load_file("qa_data/tokens/googlePhotos.json")
if not success then
    print(jsonToken.last_error_text)
    return
end

local http = chilkat.Http.new()

http.auth_token = jsonToken:string_of("access_token")

local resp = chilkat.HttpResponse.new()
success = http:http_no_body("GET", "https://photoslibrary.googleapis.com/v1/albums", resp)
if not success then
    print(http.last_error_text)
    return
end

-- Examine the response status code.  Success is indicated by a status code of 200.
print("response status code: " .. resp.status_code)

local json = chilkat.JsonObject.new()
json:load(resp.body_str)

-- Sample response:
json.emit_compact = false
print(json:emit())

-- {
--   "albums": [
--     {
--       "id": "AKcbugFJDPVIW3w4JMTV9hWpjnvK-iHkZwS_FRuIm_jtqektmP7bTpvx27eETfLHOZrSznkt0bR3",
--       "title": "April 23, 2016",
--       "productUrl": "https://photos.google.com/lr/album/AKcbugFJDPVIW3w4JMTV9hWpjnvK-iHkZwS_FRuIm_jtqektmP7bTpvx27eETfLHOZrSznkt0bR3",
--       "mediaItemsCount": "1",
--       "coverPhotoBaseUrl": "https://lh3.googleusercontent.com/lr/AGWb-e6L7ecrCQmp ... uXVvAoTeMwJg",
--       "coverPhotoMediaItemId": "AKcbugHEVyTFgIYb7GzhRFP5KvhBRIIsRcb6Cd4-2ByHzad2oqZnWF2aMPoXY-vfrXmefdTlyF3yZ22Odz6IFLs8pnJlOoVBUg"
--     },
--     {
--       "id": "AKcbugHJ4Zip9WHj_rpS9it133uu753VFffiNg9s0aapPSFAEzEwFxOuCG84OXYgJGclgnt1WqG1",
--       "title": "April 23, 2016",
--       "productUrl": "https://photos.google.com/lr/album/AKcbugHJ4Zip9WHj_rpS9it133uu753VFffiNg9s0aapPSFAEzEwFxOuCG84OXYgJGclgnt1WqG1",
--       "mediaItemsCount": "1",
--       "coverPhotoBaseUrl": "https://lh3.googleusercontent.com/lr/AGWb-e5h7xK6G_baGN6KuuBHG5veLD49Xiaiix0GuTjii ... 7rkIexZj3AAdCA",
--       "coverPhotoMediaItemId": "AKcbugHEVyTFgIYb7GzhRFP5KvhBRIIsRcb6Cd4-2ByHzad2oqZnWF2aMPoXY-vfrXmefdTlyF3yZ22Odz6IFLs8pnJlOoVBUg"
--     },
--     {
--       "id": "AKcbugHaQTvUKSi3M2RQxOhxhdEaLc5mfUcqFoIU_kpQaROyUD70BcFt7_mnz5PcwwsjPKeKnLHN",
--       "title": "animals",
--       "productUrl": "https://photos.google.com/lr/album/AKcbugHaQTvUKSi3M2RQxOhxhdEaLc5mfUcqFoIU_kpQaROyUD70BcFt7_mnz5PcwwsjPKeKnLHN",
--       "isWriteable": true,
--       "coverPhotoBaseUrl": "https://lh3.googleusercontent.com/mL8RRbd0pjFIhHc0A4En4y7ZftwyjZTSp5YWX5j1EyPxX5GepHML"
--     }
--   ]
-- }

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

local id = ""
local title = ""
local productUrl = ""
local mediaItemsCount = ""
local coverPhotoBaseUrl = ""
local coverPhotoMediaItemId = ""
local isWriteable = false

local i = 0
local count_i = json:size_of_array("albums")
while i < count_i do
    json.i = i
    id = json:string_of("albums[i].id")
    title = json:string_of("albums[i].title")
    productUrl = json:string_of("albums[i].productUrl")
    mediaItemsCount = json:string_of("albums[i].mediaItemsCount")
    coverPhotoBaseUrl = json:string_of("albums[i].coverPhotoBaseUrl")
    coverPhotoMediaItemId = json:string_of("albums[i].coverPhotoMediaItemId")
    isWriteable = json:bool_of("albums[i].isWriteable")
    i = i + 1
end