获取 OAuth 2.0 客户端 ID

概览

要使用 Android 版 Google 健身,您需要 Android 应用。

所有 Android 应用都是使用您持有的数字证书签署的 私钥。请参阅 Android 应用签名指南 ,详细了解数字证书。

Android OAuth 客户端 ID 与特定证书/软件包对相关联。您 每个证书只需要一个 ID,不管有多少用户 应用。

获取应用 ID 需要执行几个步骤。以下步骤概述了 。

  1. 查找应用的证书信息。
  2. 在 Google API 控制台中创建或修改项目。
  3. 请求 OAuth 2.0 客户端 ID。

查找应用的证书信息

API 密钥以应用数字证书的简短形式为基础, 称为 SHA-1 指纹。显示 SHA-1 请先确保您使用的是正确的 证书。您可能有两个证书:

  • 调试证书:Android SDK 工具会在您执行调试 build 时自动生成此证书。此证书只能用于要测试的应用。请勿尝试发布使用调试证书签名的应用。Android 开发者文档中的在调试模式下签名部分详细介绍了调试证书。
  • 发布证书:Android SDK 工具会在您执行发布 build 时自动生成此证书。您也可以使用 keytool 程序生成此证书。如果您已准备好公开发布应用,请使用此证书。

按照下面的步骤,结合使用 keytool 程序与 -v 参数来显示证书的 SHA-1 指纹。如需详细了解 Keytool,请参阅 Oracle 文档

调试证书

显示调试证书指纹

  1. 找到您的调试密钥库文件。该文件的文件名为 debug.keystore,在您首次构建项目时创建。默认情况下,它与 Android 虚拟设备 (AVD) 文件存储在同一目录下:

    • macOS 和 Linux~/.android/
    • Windows Vista 和 Windows 7C:\Users\your_user_name\.android\
  2. 列出 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
发布证书

显示发布证书指纹

  1. 找到您的发布证书密钥库文件。发布密钥库没有默认位置或名称。如果您在构建要发布的应用时未指定其发布密钥库的位置或名称,则该版本会保持 .apk 处于未签名状态,您需要先为其签名,然后才能发布该版本。对于发布证书,您还需要证书的别名以及密钥库和证书的密码。您可以通过输入以下内容来列出密钥库中所有密钥的别名:

    keytool -list -keystore your_keystore_name

    your_keystore_name 替换为密钥库的完全限定路径和名称,包括 .keystore 扩展名。系统将提示您输入密钥库的密码。然后,keytool 会显示密钥库中所有密钥的别名。

  2. 在终端或命令提示符中输入以下内容:

    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。

  1. 前往 Google API 控制台
  2. 选择一个项目,或创建一个新项目。为 Android 使用同一项目 和 REST 版本的应用
  3. 点击继续以启用 Fitness API。
  4. 点击转到凭据
  5. 点击新建凭据,然后选择 OAuth 客户端 ID
  6. 应用类型下,选择 Android
  7. 在生成的对话框中,输入应用的 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

  8. 点击创建。您的新 Android OAuth 2.0 客户端 ID 和密钥出现在 项目的 ID 列表。OAuth 2.0 客户端 ID 是 字符,如下所示:

    780816631155-gbvyo1o7r2pn95qc4ei9d61io4uh48hl.apps.googleusercontent.com