連載
» 2015年09月15日 05時00分 UPDATE

Androidで動く携帯Javaアプリ作成入門(59):グーグルのAPIを使うときに欠かせないGoogle OAuthの作り方と使い方 (1/3)

Gmail、Google Maps、YouTube、Google DriveなどをAPIとして活用する際に必要となるGoogle OAuthの作り方と、Androidアプリを例にした使い方を解説する。

[緒方聡,株式会社ゆめみ]
「Androidで動く携帯Javaアプリ開発入門」のインデックス

連載目次

 グーグルは検索サービスをはじめとしたさまざまなサービスを提供しています。一般的に知られているサービスとしてはGmail、Google Maps、YouTube、Google+、Google Drive、Google Calendarなどがありますが、それ以外にも100種類ものサービスを提供しています。そして、それらサービスでAPIが提供され、開発者が任意の機能を自身のアプリに組み込むことが可能になります。

 例えば、グーグルが提供するブログサービスBloggerも、goo.glで開始するURL短縮サービスもAPIを提供しています。

 今回はそれらAPIを利用するために必要なGoogle OAuthの設定方法とサンプルアプリを通じて認証方法とAPIの利用方法を解説します。

 今回のサンプルアプリは以下よりダウンロードしてください。

 今回、サービス利用例として使用するのはGoogle DriveとGoogle+です。利用するサービスAPIの種類を問わず認証方法は同じなので、必要に応じて利用したいサービスの実装を追加してみてください。

コラム「2種類のAPI」

 グーグルのサービスを利用するAPIは、2015年7月現在、2種類存在します。

 例えばGoogle Driveだと、「com.google.api.services.drive」を利用するAPIと、「com.google.android.gms.drive」を利用するAPIです。前者は従来のAPI、後者は新しいAPIのようです。新しいAPIは、Android Studioからプロジェクトを作成する際のテンプレートで生成され、Android公式ドキュメントでもスニペットで解説されたり、Google公式のサンプルも提供されたりするため、今後はこちらを利用するのが望ましいのかもしれませんが、筆者の環境では動作確認が取れなかったため、今回は実績のある従来のAPIを利用することにします。

 なお、グーグルのサービスを利用するAPIは、Android用だけではなくRESTやiOS用も提供されているものがあります。マルチプラットフォームで提供するアプリの場合、そのサービスをどのAPIで利用するか、事前に検討しておくことをお勧めします。


Google Developer Consoleの設定

 Googleサービスを利用するには、Google Developer Consoleにプロジェクト登録と設定が必要です。まずはGoogle Developer Consoleを開いてください。

android59_1.jpg

 「プロジェクトを作成」をクリックして、新しいプロジェクトを作成します。プロジェクト名はここでは「Google OAuth Sample」とします。

android59_2.jpg

 「作成」をクリックすると、プロジェクトの作成が実施され、プロジェクト作成後にプロジェクトの概要ページが表示されます。

android59_3.jpg

 この概要ページから「アプリ内で使用するGoogle APIの有効化」をクリックします。

android59_4.jpg

 このAPI一覧からDrive APIとGoogle+ APIをクリックして有効化します。もしこの中に見つからない場合は、検索してみてください。

android59_5.jpg

 有効化されたAPIを確認し、目的のAPIが追加されていることを確認します。

android59_6.jpg

 初期状態で有効になっているAPIがいくつかありますが、今回はそのままにしておきます。実際の製品開発時には不要なAPIはこの一覧から削除した方が間違いないです。

 これでアプリから利用するAPIの設定は完了です。

 次にクライアントIDの設定を行います。右側メニューの「認証情報」をクリックします。

android59_7.jpg

 「新しいクライアントIDを作成」をクリックします。

android59_8.jpg

 Androidアプリの場合、「アプリケーションの種類」は「インストールされているアプリケーション」を選択し「同意画面を設定」をクリックします。

android59_9.jpg

 必須なのはメールアドレスとサービス名です。サービス名は、プロジェクト名、アプリ名と同一にしました。その他URLなどは必要に応じて入力してください。

 サービスロゴを省略した場合は、アプリアイコンが使用されます。

 入力が完了したら「保存」をクリックします。

android59_10.jpg

 表示されるダイアログでは、以下のように入力します。

  • アプリケーションの種類:インストールされているアプリケーション
  • インストールされているアプリケーションの種類:Android
  • パッケージ名:Androidアプリのパッケージ名(コピペ推奨)
  • 署名証明書フィンガープリント(SHA1):後述
  • Google+ディープリンク:無効

 署名証明書フィンガープリントは、端末から以下のコマンドで調べます。

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -list -v
Mac/Linux
keytool -exportcert -alias androiddebugkey -keystore "%USERPROFILE%\.android\debug.keystore" -list -v
Windows

 パスワードを求められるので、「android」とタイプしてください。今回は開発用のdebug.keystoreを使用していますが配布用でも同様です。

 Google+ディープリンクとは、Google+で共有されたコンテンツをアプリで開くことができるようになる機能です。今回は利用しません。

 全ての入力が完了したら、「新しいクライアントIDを作成」をクリックします。

android59_11.jpg

 作成が完了すると、追加されたクライアントIDが表示されます。Androidアプリの場合、ここに表示されている情報はアプリでは利用しません。

 これでGoogle Developer Consoleでの設定は完了です。

       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。