はじめに
FlutterアプリにGoogle認証を組み込むで、FlutterアプリでGoogle認証してOpenID Tokenを取得するところまで作りました。Googleからトークンを取得しているので、Google Photos APIを呼び出してみたいと思います。
Google Photos APIの有効化
GCPのAPIダッシュボードを開き、__APIとサービスの有効化__を押下します。
以上でAPIの有効化が終了です。
FlutterアプリからAPIを呼び出す
Google認証した結果の__GoogleSignInAccount__インスタンスを前回の記事で取得しています。__GoogleSignIn__の生成時に__Scopes__にGooglePhotosのAPI呼び出し用設定(https://www.googleapis.com/auth/photoslibrary
)を入れているところがポイントです。__GoogleSignInAccount__インスタンスの__authHeaders__メソッドを呼び出すとGoogle APIを呼び出すためのAuthorization Header
がそのまま取得できます。
以下は、Google Photosでアルバムを新規作成するコードです。__account__が__GoogleSignInAccount__のインスタンスです。__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を利用するのは非常に簡単です。
最後に、本記事も含めて連載的に記事を書いています。目次はこちらです。