Google API Client LIbrary for JavascriptでGoogleフォトのアルバムを取得する

2020年10月19日月曜日

Google javascript

t f B! P L

はじめに

Google API Client LIbrary for Javascript(gapi)でGoogleフォトのアルバムを取得する方法です。

スポンサーリンク

サンプルコード

// 注意:gapiのセットアップや認証の部分は省略してます。

function sample() {
  albumsRequest().then((resp) => {
	resp.albums.forEach((element) => {
      console.log(element.title); //アルバムのタイトルを表示
    });
  });
}

/**
 * アルバムリスト取得 REST API実行
 */
function albumsRequest() {
  // Promissで結果を返せるようにする
  return new Promise((resolve, reject) => {
  
    // リクエストの作成
    var restRequest = gapi.client.request({
      'path': 'https://photoslibrary.googleapis.com/v1/albums',
      'params' : {
         'pageSize' : 10    // 1回あたり最大10件のアルバムを取得する
       }
    });

    // リクエストを実行
    restRequest.execute((resp) => {
      if (resp.error) {
        reject(resp.error)  // エラーなのでreject
      } else {
        resolve(resp)       // 正常なのでresolve
      }
    });
  });  
}

上のサンプルだと、アルバムが10件以上ある場合、1回のアクセスではすべてのアルバム情報を取得できません。
残りのアルバムも取得したい場合は、APIのレスポンスで返ってくるnextPageTokenを、つぎのリクエストにセットすると、続きのページの情報を取得できます。

おわり

Google API Client LIbrary for Javascript(gapi)を使うと簡単にGoogleのリソースにアクセスできて便利ですね。

スポンサーリンク

QooQ