数据访问权限和授权

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
添加新应用 注册新应用
  1. 创建 Google Cloud 项目
  2. 启用 Google Health API
基本信息 要填写的字段:
  • 应用名称
  • 说明
  • 应用网站网址
  • 组织
  • 组织网站网址
  • 服务条款网址
  • 隐私权政策网址
要填写的字段:
  • 应用名称
  • 支持人员电子邮件地址
  • 受众群体(内部或外部)
  • 联系邮箱
  • 徽标图标
  • 应用网站网址
  • 隐私权政策网址
  • 服务条款网址
  • 已获授权的域名
应用类型 开发者必须选择:
  • 服务器
  • 客户
  • 个人
  • Web 应用
  • Android
  • Chrome 扩展程序
  • iOS
  • 电视
  • 桌面应用
  • 通用 Windows 平台
客户端 ID 在保存应用设置时注册 单独注册
访问类型 读写权限在应用级进行控制 读写权限在范围级进行控制
其他网址
  • 重定向网址:用户授权范围后重定向到的网站
  • 已获授权的 JavaScript 来源:托管 Web 应用的 HTTP 来源
  • 重定向网址:用户授权范围后重定向到的网站

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 响应包含:
  • 访问令牌
  • 访问令牌有效期
  • scopes
  • 令牌类型
  • 刷新令牌
  • 用户 ID
JSON 响应包含:
  • 访问令牌
  • 访问令牌有效期
  • scopes
  • 令牌类型
  • 刷新令牌

如需获取用户 ID,请使用 users.getIdentity 端点。

Fitbit 用户必须重新同意您的新集成,因为您的应用使用的是不同的 OAuth 库。访问令牌和刷新令牌无法转移到 Google Health API 并正常运行。