Sample code for 30+ languages & platforms
Perl

List Google Photos Albums

See more Google Photos Examples

Demonstrates how to get a list of Google Photos albums.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 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 = chilkat::CkJsonObject->new();
$success = $jsonToken->LoadFile("qa_data/tokens/googlePhotos.json");
if ($success == 0) {
    print $jsonToken->lastErrorText() . "\r\n";
    exit;
}

$http = chilkat::CkHttp->new();

$http->put_AuthToken($jsonToken->stringOf("access_token"));

$resp = chilkat::CkHttpResponse->new();
$success = $http->HttpNoBody("GET","https://photoslibrary.googleapis.com/v1/albums",$resp);
if ($success == 0) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

# Examine the response status code.  Success is indicated by a status code of 200.
print "response status code: " . $resp->get_StatusCode() . "\r\n";

$json = chilkat::CkJsonObject->new();
$json->Load($resp->bodyStr());

# Sample response:
$json->put_EmitCompact(0);
print $json->emit() . "\r\n";

# {
#   "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

$i = 0;
$count_i = $json->SizeOfArray("albums");
while ($i < $count_i) {
    $json->put_I($i);
    $id = $json->stringOf("albums[i].id");
    $title = $json->stringOf("albums[i].title");
    $productUrl = $json->stringOf("albums[i].productUrl");
    $mediaItemsCount = $json->stringOf("albums[i].mediaItemsCount");
    $coverPhotoBaseUrl = $json->stringOf("albums[i].coverPhotoBaseUrl");
    $coverPhotoMediaItemId = $json->stringOf("albums[i].coverPhotoMediaItemId");
    $isWriteable = $json->BoolOf("albums[i].isWriteable");
    $i = $i + 1;
}