所有读取和写入用户数据的 Google Health API 端点都需要用户通过一个或多个范围同意数据收集。应用在调用 Google 的 OAuth2 授权端点时必须提供范围列表。请参阅获取 OAuth2 访问令牌。 签发的访问令牌将仅包含同意用户已授权的范围。
所有 Google Health API 范围都以以下内容开头:
https://www.googleapis.com/auth/googlehealth
实现
为提供最佳用户体验并确保符合安全合规性要求,在请求范围时,您应:
- 仅请求所需的权限范围:仅请求应用正常运行所需的特定数据范围的访问权限。
- 仅在发送数据时配置写入权限:如果您要向 Google Health 发送数据,请仅配置“写入”权限(例如,使用
writeonly范围)。 - 妥善处理部分同意情况:如果用户未选择权限请求页面上显示的所有范围,您的应用不应失败。
- 如果您的应用需要所有显示的范围才能正常运行,您可以显示以下文本:“为获得最佳用户体验,我们建议您启用所有范围。”
可用的范围
| 范围 | 权限 |
|---|---|
| .activity_and_fitness.readonly | 查看您在 Google Health 中的活动和健身数据。 |
| .activity_and_fitness.writeonly | 向 Google Health 添加活动和健身数据,以及修改或删除它所添加的这类数据。 |
| .ecg.readonly | 查看您在 Google Health 中的心电图数据。 |
| .health_metrics_and_measurements.readonly | 查看您在 Google Health 中的健康指标和测量结果数据。 |
| .health_metrics_and_measurements.writeonly | 向 Google Health 添加健康指标和测量结果数据,以及修改或删除所添加的这类数据。 |
| .irn.readonly | 查看您在 Google Health 中的 Google Health 心律不齐通知数据。 |
| .location.readonly | 查看 Google Health 在您锻炼期间记录的 GPS 位置信息。 |
| .nutrition.readonly | 查看您在 Google Health 中的营养数据。 |
| .nutrition.writeonly | 向 Google Health 添加营养数据,以及修改或删除所添加的这类数据。 |
| .profile.readonly | 查看您的 Google Health 数据。 |
| .profile.writeonly | 向 Google Health 添加个人资料数据,以及修改或删除所添加的这类数据。 |
| .settings.readonly | 查看您的 Google Health 设置。 |
| .settings.writeonly | 向 Google Health 添加设置数据,以及修改或删除所添加的这类数据。 |
| .sleep.readonly | 查看您在 Google Health 中的睡眠数据。 |
| .sleep.writeonly | 向 Google Health 添加睡眠数据,以及修改或删除所添加的这类数据。 |