概要
Android 版 Google Fit を使用するには、Android アプリ用の OAuth 2.0 クライアント ID が必要です。
すべての Android アプリは、秘密鍵を保持するデジタル証明書で署名されています。デジタル証明書について詳しくは、Android のアプリ署名ガイドをご覧ください。
Android OAuth クライアント ID は、特定の証明書/パッケージのペアにリンクされています。アプリのユーザー数に関係なく、証明書ごとに 1 つの ID のみが必要です。
アプリの ID を取得するには、いくつかの手順が必要です。手順は次のとおりです。
- アプリの証明書情報を確認します。
- Google API Console でプロジェクトを作成または変更する。
- OAuth 2.0 クライアント ID をリクエストします。
アプリの証明書情報を確認する
API キーは、アプリのデジタル証明書の簡略形(SHA-1 フィンガープリントとも呼ばれます)を基にしています。証明書の SHA-1 フィンガープリントを表示するには、まず正しい証明書を使用していることを確認します。次の 2 種類の証明書がある場合があります。
- デバッグ用証明書: この証明書は、デバッグビルドを行う際に Android SDK ツールによって自動的に生成されます。この証明書は、テストしているアプリでのみ使用してください。デバッグ用証明書で署名されたアプリを公開しないでください。 デバッグ用証明書について詳しくは、Android デベロッパー向けドキュメントのデバッグモードでの署名に関する説明をご覧ください。
- リリース用証明書: この証明書は、リリースビルドを行う際に Android SDK ツールによって生成されます。
keytool
プログラムを使用してこの証明書を生成することもできます。この証明書は、アプリを一般向けにリリースす準備が整っている場合に使用してください。
-v
パラメータを指定した keytool
プログラムを使用して、証明書の SHA-1 フィンガープリントを表示するには、次の手順を参考にしてください。Keytool について詳しくは、Oracle のドキュメントをご覧ください。
デバッグ用証明書のフィンガープリントを表示する
デバッグ用のキーストア ファイルを見つけます。ファイル名は
debug.keystore
です。このファイルはプロジェクトを初めて構築するときに作成され、デフォルトでは、Android Virtual Device(AVD)ファイルと同じディレクトリに保存されます。- macOS と Linux:
~/.android/
- Windows Vista、Windows 7:
C:\Users\your_user_name\.android\
- macOS と Linux:
SHA-1 フィンガープリントを一覧表示します。
Linux や macOS の場合は、ターミナル ウィンドウを開いて次のコマンドを入力します。
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Windows Vista と Windows 7 の場合は、次を実行します。
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
次のような出力が表示されます。
Alias name: androiddebugkey Creation date: Jan 01, 2013 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=Android Debug, O=Android, C=US Issuer: CN=Android Debug, O=Android, C=US Serial number: 4aa9b300 Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033 Certificate fingerprints: MD5: AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9 SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75 Signature algorithm name: SHA1withRSA Version: 3
リリース用証明書のフィンガープリントを表示する
-
リリース用証明書のキーストア ファイルを見つけます。リリース用キーストアには、デフォルトの保存場所や名前はありません。リリース対象のアプリを作成する際にキーストアを指定しなかった場合は、
.apk
が未署名のままになります。このため、アプリを公開するには事前に署名する必要があります。リリース用証明書では、証明書のエイリアスと、キーストアおよび証明書のパスワードも必要です。次を入力すると、キーストア内のすべてのキーのエイリアスが表示されます。keytool -list -keystore your_keystore_name
your_keystore_name
を、完全修飾されたパスとキーストアの名前(.keystore
拡張子を含む)に置き換えます。キーストアのパスワードが要求されます。パスワードを入力すると、keytool
にキーストア内のすべてのエイリアスが表示されます。 -
ターミナルまたはコマンド プロンプトで次を入力します。
keytool -list -v -keystore your_keystore_name -alias your_alias_name
your_keystore_name
を、完全修飾されたパスとキーストアの名前(.keystore
拡張子を含む)に置き換えます。your_alias_name
を、証明書の作成時に割り当てたエイリアスに置き換えます。
次のような出力が表示されます。
Alias name: <alias_name> Creation date: Feb 02, 2013 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=Android Debug, O=Android, C=US Issuer: CN=Android Debug, O=Android, C=US Serial number: 4cc9b300 Valid from: Mon Feb 02 08:01:04 UTC 2013 until: Mon Feb 02 18:05:04 PST 2033 Certificate fingerprints: MD5: AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6B:AC:F9 SHA1: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:90:AF:A1:66:6E:44:5D:75 Signature algorithm name: SHA1withRSA Version: 3
SHA1
で始まる行に、証明書の SHA-1 フィンガープリントが含まれています。このフィンガープリントは、コロンで区切られた 20 個の 2 桁の 16 進数で構成されるシーケンスです。
Google API Console で OAuth 2.0 クライアント ID をリクエストする
以下の手順に沿って、Google API Console でアプリのプロジェクトを作成または変更し、Fitness API を有効にして、OAuth 2.0 クライアント ID をリクエストします。
手順に沿って Fitness API を自動的に有効にするには、
または、次の手順に沿って Google API Console で Fitness API を有効にし、OAuth 2.0 クライアント ID を取得します。
- Google API Console に移動します。
- プロジェクトを選択するか、新しいプロジェクトを作成します。Android バージョンと REST バージョンのアプリに同じプロジェクトを使用します。
- [続行] をクリックして Fitness API を有効にします。
- [認証情報に進む] をクリックします。
- [新しい認証情報] をクリックし、[OAuth クライアント ID] を選択します。
- [アプリケーションの種類] で [Android] を選択します。
表示されたダイアログで、アプリの SHA-1 フィンガープリントとパッケージ名を入力します。次に例を示します。
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
com.example.android.fit-example
[作成] をクリックします。新しい Android OAuth 2.0 クライアント ID とシークレットが、プロジェクトの ID のリストに表示されます。OAuth 2.0 クライアント ID は次のような文字列です。
780816631155-gbvyo1o7r2pn95qc4ei9d61io4uh48hl.apps.googleusercontent.com