取得 OAuth 2.0 用戶端 ID

總覽

如要使用 Google Fit for Android,您需要 Android 應用程式的 OAuth 2.0 用戶端 ID。

所有 Android 應用程式均使用您持有的數位憑證簽署 私密金鑰如要進一步瞭解數位憑證,請參閱 Android 應用程式簽署指南

Android OAuth 用戶端 ID 已連結至特定憑證/套件組合。個人中心 無論您擁有多少使用者,每個憑證都只需要一組 ID 應用程式

如要為應用程式取得 ID,您必須完成幾個步驟。這些步驟如下所述。

  1. 找出應用程式的憑證資訊。
  2. 在 Google API 控制台中建立或修改專案。
  3. 要求 OAuth 2.0 用戶端 ID。

尋找應用程式的憑證資訊

API 金鑰是以應用程式數位憑證的簡短形式為根據,這種形式稱為 SHA-1 指紋。如要顯示憑證的 SHA-1 指紋,請先確認您使用的是正確的憑證。You may have two certificates:

  • 偵錯憑證:執行偵錯版本時,Android SDK 工具會自動產生這個憑證。請僅將這個憑證用於您正在測試的應用程式。 請勿嘗試發布以偵錯憑證簽署的應用程式。 如要進一步瞭解偵錯憑證,請參閱 Android 開發人員說明文件的登入偵錯模式
  • 發布憑證:Android SDK 工具會在您執行發布子版本時產生這個憑證。您也可以使用 keytool 程式產生這個憑證。當您準備好要將應用程式發布上架時,請使用這個憑證。

請按照下列步驟,使用 keytool 程式搭配 -v 參數,即可顯示憑證的 SHA-1 指紋。如要進一步瞭解 Keytool,請參閱 Oracle 說明文件

偵錯憑證

顯示偵錯憑證指紋

  1. 找出您的偵錯 KeyStore 檔案。檔案名稱為 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. 找出您的發布憑證 KeyStore 檔案。發布 KeyStore 檔案並沒有預設名稱或位置。如果您在建構要發布的應用程式時未加以指定,版本會將您的 .apk 保持為未簽署狀態,而您必須先簽署才能發布應用程式。如使用發布憑證,您還需要別名和密碼,才能使用 KeyStore 和憑證。在 KeyStore 中輸入以下內容,即可列出所有金鑰的別名:

    keytool -list -keystore your_keystore_name

    以完整的 KeyStore 路徑和名稱 (包括 .keystore 副檔名) 取代 your_keystore_name。系統會提示您輸入 KeyStore 密碼,然後 keytool 就會顯示 KeyStore 中的所有別名。

  2. 輸入以下終端機或命令提示字元:

    keytool -list -v -keystore your_keystore_name -alias your_alias_name

    以完整的 KeyStore 路徑和名稱 (包括 .keystore 副檔名) 取代 your_keystore_name。以 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。

如果您想逐步完成程序並啟用 自動,按一下健身 API

取得用戶端 ID

或者,您也可以按照下列步驟在 Google API 控制台中啟用 Fitness API,並取得 OAuth 2.0 用戶端 ID。

  1. 前往 Google API 控制台
  2. 選取專案,或建立新專案。使用同一個專案存取 Android 和 REST 版本
  3. 點選「繼續」以啟用 Fitness API。
  4. 按一下「前往憑證」
  5. 按一下「New credentials」,然後選取「OAuth Client ID」
  6. 在「Application type」下方,選取「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