概览
要使用 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 自动,点击
<ph type="x-smartling-placeholder"></ph> 获取客户端 ID
或者,您也可以按照这些步骤在 Google 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