取得 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。

如果想要引導您完成流程並且自動啟用 Fitness API,請按一下

取得用戶端 ID

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

  1. 前往 Google API 控制台
  2. 請選取現有專案,或是建立新專案。請為 Android 和 REST 版本的應用程式使用相同的專案。
  3. 按一下「繼續」以啟用 Fitness API。
  4. 按一下「前往憑證」
  5. 按一下「新增憑證」,然後選取「OAuth 用戶端 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. 按一下「Create」(建立)。新的 Android OAuth 2.0 用戶端 ID 和密鑰會顯示在專案的 ID 清單中。OAuth 2.0 用戶端 ID 是一串字元的字串,如下所示:

    780816631155-gbvyo1o7r2pn95qc4ei9d61io4uh48hl.apps.googleusercontent.com