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 |
| 添加新应用 | 按注册新应用 |
|
| 基本信息 | 要填写的字段:
|
要填写的字段:
|
| 应用类型 | 开发者必须选择:
|
|
| 客户端 ID | 在保存应用设置时注册 | 单独注册 |
| 访问类型 | 读写权限在应用级进行控制 | 读写权限在范围级进行控制 |
| 其他网址 |
|
|
OAuth 实现
Google Health 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 并正常运行。