数据访问权限和授权

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

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

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

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