AndroidでGoogleのOAuth2認証を行うには?(外部ライブラリ完全非依存版)
AndroidでGoogleのOAuth2認証を行う必要が出てきた。 今時のアプリではOAuth2が必要な場面は相当多いものの、いかんせん複雑で、認証してやりたいことができるようになるまでのプロセスが非常に長い。 Andorid上では初めて行ったので、できるだけ短く、分かりやすくまとめておこうと思う。 追記12.08.21 :以下はWebViewを使用する方法だけど、AccountManagerを使用する方法もある。 琴線探査: AndroidのAccountManager経由でGoogleのOAuth2認証を行うには?(外部ライブラリ完全非依存版) ---- OAuth2認証の流れ 複雑で長いプロセスの場合は、まず大きな流れを掴んでおくことが重要だ。GoogleのOAuth2の流れはこんな感じ。 Googleの「API Console」に自分のアプリを登録 「API Console」でOAuth2認証で必要な情報を集める(Client ID、Client Secret, Redirect URIs) 「OAuth 2.0 Playground」を使って許可範囲(scope)を決定する 集めた情報を使ってWebViewでOAuth2認証ページを表示する OAuth2認証ページでユーザー自身でアプリケーションからの接続の許可をしてもらう ユーザー許可後のページタイトルから「code」を取得する 「code」を使って「アクセストークン」を取得する このように、アクセストークンを取得することが最終目的となる。 一度アクセストークンを取得出来れば、あとは各種APIにリクエストする時にこのアクセストークンを使えばいい。 Googleのライブラリを使うべきか? OAuth2の基本的な流れはここに書いてある。 Using OAuth 2.0 to Access Google APIs - Google Accounts Authentication and Authorization — Google Developers その中で「Google APIs Client Library for Java」という専用のライブラリが紹介されている。 google-api-java-client - Google A...