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:
- 如果您想將現有的 Google Cloud 專案用於 Google Health API,請務必先登入該專案的管理員帳戶。然後按一下按鈕,從可用專案清單中選取現有專案。否則請建立新專案。
- 系統詢問「你從哪裡撥打電話?」時,請選取「Web Server」。
- 在「Authorized redirect URIs」(授權重新導向 URI) 中輸入 https://www.google.com 做為值。您必須提供重新導向 URI,才能使用 OAuth 2.0 取得授權碼。
- 設定完成後,複製 OAuth 2.0 用戶端 ID 和用戶端密鑰值,並將憑證 JSON 檔案下載到本機。
如要手動設定 Google Cloud 專案,或驗證設定並再次擷取憑證,請按照下列步驟操作:
如要進一步瞭解如何使用 Google 控制台設定 OAuth 2.0,請參閱「使用 OAuth 2.0 存取 Google API」。
新增測試使用者
根據預設,新建立的 OAuth 用戶端處於未驗證狀態,測試和正式版用途的使用者上限皆為 100 人。如要在這段期間啟用授權,您必須手動將每位使用者的電子郵件地址新增至專案設定中的「測試使用者」清單。
- 在這個頁面中,「發布狀態」應設為「測試」,「使用者類型」應設為「外部」。
- 在「測試使用者」部分下方,按一下「+ 新增使用者」。輸入測試使用者的電子郵件地址,允許他們授予應用程式存取健康資料的權限。
- 按一下 [儲存]。
如要支援超過 100 位使用者,必須完成第三方安全審查。詳情請參閱 OAuth 應用程式驗證說明中心。
新增範圍
- 在這個頁面中,按一下「新增或移除範圍」。
- 在「API」欄中搜尋「Google Health API」。選取應用程式所需的範圍。
- 選取所有需要的範圍後,按一下「更新」,返回「資料存取權」頁面。
- 按一下 [儲存]。
您已完成設定用戶端 ID,現在應該可以呼叫 Google Health API。
更新範圍
您可以在驗證要求中將提示參數設為「同意」,提示使用者重新授權應用程式。如果包含 prompt=consent,即使先前已將所有範圍授權給 Google API 專案,應用程式每次要求授權存取範圍時,系統都會顯示同意畫面。
如要使用 prompt=consent 參數新增或變更範圍,請按照下列步驟操作:
找出應用程式需要的範圍完整清單。這應包括現有範圍和您需要新增的任何範圍。
修改授權網址中的範圍參數,加入以半形空格分隔的更新範圍值清單。
在驗證 URI 參數中附加
prompt=consent。這會強制授權伺服器提示使用者同意,再將資訊傳回給用戶端。以下範例顯示對 Google OAuth 2.0 授權端點發出的 HTTPS GET 要求,要求多個範圍並附加
prompt=consent:https://accounts.google.com/o/oauth2/v2/auth?client_id=client-id&redirect_uri=redirect-uri&response_type=code&access_type=offline&scope=https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly%20https://www.googleapis.com/auth/googlehealth.sleep.readonly&prompt=consent
使用者點選更新後的連結時,系統會顯示列出所有要求範圍的同意聲明頁面。使用者點選「繼續」或「允許」後,您會收到新的授權碼,可用於交換涵蓋完整範圍的權杖。
只有在必要時才加入
prompt=consent,例如需要取得新的重新整理權杖,或要求的範圍已變更時。
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 天後過期。
跨帳戶防護 (RISC API)
如要接收事件權杖或帳戶連結異動通知 (例如帳戶中斷連結或權杖遭撤銷),請啟用「風險和事件分享與協調 (RISC)」,以便清理儲存的權杖並更新 UI 連線狀態。啟用 RISC API 為選用步驟。
如要為 Google Cloud 雲端專案啟用 RISC API,請按照下列步驟操作:
- 在 Google Cloud 控制台中開啟 RISC API 頁面。確認已選取要用於 Google Health API 的專案。
- 詳閱 RISC 條款,並確保瞭解相關規定。
- 如果您同意條款,請按一下「啟用」。
啟用 API 後,您必須建立並註冊 HTTPS 端點,才能接收及驗證 Google 傳送的事件權杖。
如要進一步瞭解跨帳戶防護功能和 RISC,請參閱「透過跨帳戶防護功能保護使用者帳戶」。