設定 Google Cloud 和 OAuth

Google Health API 的存取權是透過 Google Cloud 提供。如要啟用 API 並授權 Google 帳戶,您需要 Google Cloud 專案。

無論您是現有的 Fitbit API 開發人員,還是 Google Health API 的新手,都必須完成這個步驟,才能呼叫 API。

建立專案和 OAuth 用戶端

使用「啟用 API 並取得 OAuth 2.0 用戶端 ID」按鈕啟用 Google Health API,並取得 OAuth 2.0 用戶端 ID:

  1. 如果您想將現有的 Google Cloud 專案用於 Google Health API,請先登入該專案的管理員帳戶。然後在點按按鈕後,從可用專案清單中選取現有專案。否則請建立新專案。
  2. 系統詢問「你從何處撥打電話?」時,請選取「Web Server」
  3. 在「Authorized redirect URIs」(授權重新導向 URI) 中輸入 https://www.google.com。您必須提供重新導向 URI,才能使用 OAuth 2.0 取得授權碼。
  4. 設定完成後,複製 OAuth 2.0 用戶端 ID 和用戶端密鑰值,並將憑證 JSON 檔案下載到本機
啟用 API 並取得 OAuth 2.0 用戶端 ID

如要手動設定 Google Cloud 雲端專案,或驗證設定並再次擷取憑證,請按照下列步驟操作:

  1. 在「API Enablement」(API 啟用) 頁面啟用 Google Health API
  2. 在「憑證」頁面取得 OAuth 2.0 用戶端 ID。

如要進一步瞭解如何使用 Google 控制台設定 OAuth 2.0,請參閱「使用 OAuth 2.0 存取 Google API」。

新增測試使用者

根據預設,新建立的 OAuth 用戶端會處於未驗證狀態,且測試和正式版用途的使用者上限為 100 人。如要在這段期間啟用授權,您必須手動將每位使用者的電子郵件地址新增至專案設定中的「測試使用者」清單。

在「目標對象」頁面更新測試使用者清單:

  1. 在這個頁面中,「發布狀態」應設為「測試」,「使用者類型」應設為「外部」
  2. 在「測試使用者」部分下方,按一下「+ 新增使用者」。輸入測試人員的電子郵件地址,允許他們授予應用程式存取健康資料的權限。
  3. 按一下 [儲存]

如要支援超過 100 位使用者,必須完成第三方安全審查。詳情請參閱 OAuth 應用程式驗證說明中心

新增範圍

您必須在「資料存取」頁面中,指定用戶端可呼叫的範圍:

  1. 在這個頁面中,按一下「新增或移除範圍」
  2. 在「API」欄中搜尋「Google Health API」。選取應用程式所需的範圍。
  3. 選取所有需要的範圍後,按一下 更新 返回「資料存取權」頁面。
  4. 按一下 [儲存]

您已完成用戶端 ID 設定,現在應該可以呼叫 Google Health API。

OAuth2 用戶端程式庫

如要瞭解如何整合熱門架構,請參閱「使用 OAuth 2.0 存取 Google API」,查看可用的 OAuth 2 用戶端程式庫清單。

更新權杖

如要長期存取 Google API,且不必不斷要求使用者重新驗證,應用程式就必須使用更新權杖。如需完整的導入詳細資料,包括特定 HTTP 要求和必要參數,請參閱 Google 身分識別平台文件

如要將更新權杖換成存取權杖,請向 Google OAuth 2.0 權杖端點發出 HTTPS POST 呼叫。以下程式碼片段範例顯示要求和回應:

要求

curl -L -X POST 'https://oauth2.googleapis.com/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'client_id=client-id&client_secret=client-secret&refresh_token=refresh-token&grant_type=refresh_token'

回應

{
  "access_token": "access-token",
  "expires_in": 3599,
  "scope": "scope-list",
  "token_type": "Bearer",
  "refresh_token": "refresh-token",
  "refresh_token_expires_in": 112154
}

測試期間的權杖行為

請注意,視 Google Cloud 專案的發布狀態而定,重新整理權杖的行為如下:

  • 測試模式:如果 OAuth 同意畫面設為「測試」發布狀態,核發的重新整理權杖會以時間為準,並在 7 天後失效。在這段期間,您會收到單一更新權杖,該權杖在到期日之前都有效,可用於取得新的存取權杖。
  • 已發布模式:應用程式移至「正式版」狀態後,重新整理權杖通常不會過期,除非遭到撤銷或長期未使用 (通常為六個月)。

為確保使用者體驗順暢,請務必在應用程式移至正式環境前發布,以免權杖在 7 天後過期。