投稿

5月, 2015の投稿を表示しています

【Androidアプリ開発】AndroidでのOAuth認証が簡単に実装できるOAuthHelperを作ってみた

イメージ
もうほぼタイトル通りなのですが、AndroidでのOAuth認証と、OAuth認証で取得したAuthTokenの使い方を理解するのにとても苦労したので、OAuth認証が簡単に実装できるOAuthHelperというクラスを作ってみました。ソースコードは以下のGitHubに公開しています。
syarihu/OAuthHelperSample
https://github.com/syarihu/OAuthHelperSample
OAuthHelperとは このOAuthHelperは、自分が使いたいGoogle APIのScopeをインスタンス生成時の引数に渡して認証処理を開始するメソッドを実行することで、後は自動でアカウントの選択、認証許可確認、AuthTokenの取得までを行います。なので、これを使えばAuthTokenが返ってきた後のGoogle APIの処理を書くだけで良くなるので、認証部分を書く手間が省けます。
使い方 これを使うためには、少しだけ準備をする必要があります。 以下にその準備から実装までの手順を記載します。 Google API Consoleで今回利用したいGoogle APIを有効にする
当たり前の話なのですが、Google APIを利用するためにはそのAPIを有効にする必要があります。なので、以下のURLからプロジェクトを作成し、利用したいAPIを有効にします。
https://console.developers.google.com/Google API ConsoleでOAuthのクライアントIDを作成する
AndroidアプリでのOAuth認証では、クライアントキーなどは必要ありませんが、あらかじめGoogle APIを利用するアプリのパッケージ名と署名証明書フィンガープリントを登録しておく必要があります。
これらの登録は、Google API Consoleでプロジェクトを選択し、左側にある「APIと認証」の「認証情報」をクリックし、「新しいクライアントIDを作成」ボタンを押すことで、登録することができます。
クライアントIDの作成画面はこんな感じです。


AndroidManifestに必要なパーミッションを追加する
ようやく実際のソースコードの話になります。OAuth認証を利用するには、以下の2つのパーミッションが必要になります。
<u…