概览
要使用 Android 版 Google 健身,您需要 Android 应用。
所有 Android 应用均使用您持有私钥的数字证书签署。如需详细了解数字证书,请参阅关于为应用签名的 Android 指南。
Android OAuth 客户端 ID 与特定证书/软件包对相关联。每个证书仅需要一个 ID,与拥有的应用用户数量无关。
要为应用获取 ID,需要执行多个步骤。以下步骤概述了 。
- 查找应用的证书信息。
- 在 Google API 控制台中创建或修改项目。
- 请求 OAuth 2.0 客户端 ID。
查找应用的证书信息
API 密钥是以应用数字证书的简要形式(即其 SHA-1 指纹)为基础。显示 SHA-1 请先确保您使用的是正确的 证书。您可能有两个证书:
- 调试证书:Android SDK 工具会在您执行调试 build 时自动生成此证书。此证书只能用于要测试的应用。请勿尝试发布使用调试证书签名的应用。Android 开发者文档中的在调试模式下签名部分详细介绍了调试证书。
- 发布证书:Android SDK 工具会在您执行发布 build 时自动生成此证书。您也可以使用
keytool
程序生成此证书。如果您已准备好公开发布应用,请使用此证书。
按照下面的步骤,结合使用 keytool
程序与 -v
参数来显示证书的 SHA-1 指纹。如需详细了解 Keytool,请参阅 Oracle 文档。
显示调试证书指纹
找到您的调试密钥库文件。该文件的文件名为
debug.keystore
,在您首次构建项目时创建。默认情况下,它与 Android 虚拟设备 (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 个两位十六进制数字的序列。
在 Google API 控制台中请求 OAuth 2.0 客户端 ID
若要为应用创建或修改项目,请在 Google API 控制台,启用 Fitness API,并请求 OAuth 2.0 客户端 ID。
如果您希望系统引导您完成整个流程并自动激活 Fitness API,请点击
或者,您也可以按照以下步骤在 Google API 控制台中启用 Fitness API 并获取 OAuth 2.0 客户端 ID。
- 前往 Google API 控制台。
- 选择一个项目,或创建一个新项目。为 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