0
Help us understand the problem. What are the problem?

posted at

Google認証で取得したTokenでGoogl Photos APIを呼び出す

はじめに

FlutterアプリにGoogle認証を組み込むで、FlutterアプリでGoogle認証してOpenID Tokenを取得するところまで作りました。Googleからトークンを取得しているので、Google Photos APIを呼び出してみたいと思います。

Google Photos APIの有効化

GCPのAPIダッシュボードを開き、APIとサービスの有効化を押下します。
API01.jpg

検索窓にphotosと入力します。
API02.jpg

_Photos Library API__を選択します。
API03.jpg

有効にするボタンを押下します。
API04.jpg

以上でAPIの有効化が終了です。

FlutterアプリからAPIを呼び出す

Google認証した結果のGoogleSignInAccountインスタンスを前回の記事で取得しています。GoogleSignInの生成時にScopesにGooglePhotosのAPI呼び出し用設定(https://www.googleapis.com/auth/photoslibrary)を入れているところがポイントです。GoogleSignInAccountインスタンスのauthHeadersメソッドを呼び出すとGoogle APIを呼び出すためのAuthorization Headerがそのまま取得できます。

以下は、Google Photosでアルバムを新規作成するコードです。accountGoogleSignInAccountのインスタンスです。account.authHeadersをそのまま指定するだけでAPIが呼び出せます。

  var response =
      await http.post('https://photoslibrary.googleapis.com/v1/albums',
          headers: {
            ...await account.authHeaders,
            ...{"Content-Type": "application/json"}
          },
          body: json.encode({
            'album': {'title': 'アルバムタイトル')}
          }));

まとめ

今回は非常にシンプルな記事になりました。Googleで認証さえしてしまえば、Googleの各種サービスのAPIを利用するのは非常に簡単です。

最後に、本記事も含めて連載的に記事を書いています。目次はこちらです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?