Google Health API 采用强大且标准化的框架来管理用户数据访问权限和安全性。此现代化改造的核心组件是从旧版 Fitbit 授权 (FOT) 过渡到 Google OAuth 2.0。这一转变使开发者能够利用标准的 Google 身份验证库,从而简化实现过程,同时为用户提供熟悉且集中的界面来管理其权限。
应用注册
所有 Google Health API 应用都必须使用 Google Cloud 控制台进行注册,该控制台是用于管理所有 Google 应用的中央枢纽。
如需了解如何注册应用,请按照入门中的步骤操作。以下是注册应用时您会发现的一些区别。
| Fitbit Web API | Google Health API | |
| 公开链接 | https://dev.fitbit.com/apps | https://console.cloud.google.com |
| 添加新应用 | 按 Register a new app |
|
| 基本信息 | 需要填写的字段:
|
需要填写的字段:
|
| 应用类型 | 开发者必须选择:
|
|
| 客户 ID | 在保存应用设置时注册 | 单独注册 |
| 访问类型 | 读写权限在应用级进行控制 | 读写权限在范围级别进行控制 |
| 其他网址 |
|
|
OAuth 实现
Google 健康数据 API 应用仅支持 Google OAuth2 客户端库。客户端库支持多种主流框架,可简化 OAuth 2.0 的实现。Google OAuth2 库与开源 OAuth2 库之间的区别如下:
| Fitbit Web API | Google Health API | |
| OAuth2 库支持 | 开源 | Google OAuth2 客户端库 |
| 功能 | 在不同平台之间不一致 | 在各个平台上保持一致 |
| 授权网址 | https://www.fitbit.com/oauth2/authorize | https://accounts.google.com/o/oauth2/v2/auth |
| 令牌网址 | https://api.fitbit.com/oauth2/token | https://oauth2.googleapis.com/token |
| 访问令牌生命周期 | 8 小时 | 1 小时 |
| 访问令牌大小 | 1024 个字节 | 2048 字节 |
| 刷新令牌 | 使用授权代码授予流程时会生成刷新令牌。每个用户只能生成 1 个刷新令牌。令牌永不过期,但只能使用一次。 | 如需生成刷新令牌,授权字符串必须包含查询参数“access_type=offline”。可以为单个用户创建多个刷新令牌。刷新令牌可以基于时间。如果用户在 6 个月内未使用这些令牌、用户授予了基于时间的访问权限,或者应用处于“测试”模式,这些令牌就会过期。如需了解详情,请参阅刷新令牌过期。 |
| 令牌响应 | JSON 响应包含:
|
JSON 响应包含:
如需获取用户 ID,请使用 users.getIdentity 端点。 |
用户重新身份验证(强制重新征得同意)
Fitbit 用户必须重新同意您的新集成,因为您的应用使用的是不同的 OAuth 库。访问令牌和刷新令牌无法转移到 Google Health API 并正常运行。