本指南介绍了如何排查使用 Google Health API 时遇到的常见问题。
4xx 客户端错误
如果客户端应用代码存在问题,则返回 4xx 状态代码。查看响应正文元素,详细了解问题。
400 无效请求
| 消息 | 说明 | 建议 |
|---|---|---|
| 请求中包含无效的参数。 | 不支持数据类型 ID {value}。 | 验证所引用的数据类型是否受端点支持。 |
| 收到的 JSON 载荷无效。八进制/十六进制数不是有效的 JSON 值。 | dailyRollUp 端点不支持分别以 MM 或 DD 表示的月份和日期值。个位数不应有前导 0(零)。 |
|
| 资源名称中的项目编号无效 | 在请求网址中使用 Google Cloud 项目 ID 而不是项目编号来删除或更新订阅方时。这适用于使用 projects.subscribers 端点的 Webhook 订阅。 |
在请求网址中使用您的 Google Cloud 项目编号,而不是项目 ID。 |
401 未经授权
| 消息 | 说明 | 建议 |
|---|---|---|
| 请求所带的身份验证凭据无效。应提供 OAuth 2 访问令牌、登录 Cookie 或其他有效的身份验证凭据。 | INVALID_AUTHENTICATOR:令牌已过期 | 您的访问令牌已过期。使用刷新令牌获取新的访问令牌和刷新令牌,或者用户应重新向应用授予同意权限。 |
403 禁止访问
| 消息 | 说明 | 建议 |
|---|---|---|
| 调用方无权限 | 在请求网址中使用 Google Cloud 项目 ID 而不是项目编号来创建或列出订阅方时。这适用于使用 projects.subscribers 端点的 Webhook 订阅。 |
在请求网址中使用您的 Google Cloud 项目编号,而不是项目 ID。 |
| 调用方无权限。 | 无法从 GaiaMint 铸造 UberMint。 | 用户能够完成授权流程,但端点调用失败。如果旧版 Fitbit 账号同意应用访问数据,而不是 Google 账号同意,则可能会出现这种情况。如需纠正此错误,请执行以下操作:
|
404 未找到
| 消息 | 说明 | 建议 |
|---|---|---|
在此服务器上找不到请求的网址 /v4/users/me/dataTypes/{dataType}/dataPoints。 |
可能的原因:
|
检索 Fitbit 用户 ID
为了帮助排查用户问题,您可能需要验证用户登录 Fitbit 移动应用时所用的 Google 账号。
如需查找 Fitbit 用户 ID,请执行以下操作:
- 打开 Fitbit 移动应用。
- 按右下角的我图标。
- 按顶部包含用户名称和加入日期的功能块中的修改个人资料链接。
- 转到页面底部。在您的账号部分中,分配给 ID 的值就是 Fitbit 用户 ID。(例如:CV5TKH)
撤消对应用的同意
在帮助用户排查其与您的应用的 OAuth2 连接问题时,您可能需要他们取消账号与您的应用的关联,然后再次完成您的授权流程。
如需解除其 Google 账号与您的应用的关联,请执行以下操作:
- 打开 Fitbit 移动应用。
- 按右上角的 Fitbit 用户个人资料图标。
- 按管理您的 Google 账号。
- 选择数据和隐私设置功能块。
- 向下滚动到“您使用的应用和服务中的数据”部分。 在应用和服务下,选择第三方应用和服务。
- 在关联的应用列表中查找您的应用名称,然后让用户选择该应用。
- 按撤消您与 <应用名称> 之间的所有关联。
- 让用户按“确认”按钮撤消对您应用的同意。
撤消流程完成后,系统会将用户带回第三方应用和服务页面。用户可能需要刷新页面才能看到应用名称已从列表中移除。