You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Google Fit REST API获取呼吸频率数据?返回空数组求助

解决Google Fit REST API获取呼吸频率数据返回空point数组的问题

可能的原因及排查步骤

1. 确认云端是否存在目标数据

  • 打开Android端Google Fit应用,检查你手动添加的呼吸频率记录是否在指定时间范围内(minStartTimeNs对应2023-02-01 00:00:00 UTC,maxEndTimeNs对应2023-02-07 00:00:00 UTC)。
  • 手动添加的记录需要时间同步到云端,建议等待5-10分钟后再重试API调用。

2. 检查数据源ID是否匹配

  • 你使用的derived:com.google.respiratory.rate:com.google.android.gms:merged是合并后的衍生数据源,但手动添加的记录可能属于原始用户输入数据源。
  • 调用GET /fitness/v1/users/me/dataSources接口,筛选dataType.name为com.google.respiratory.rate的结果,找到类似raw:com.google.respiratory.rate:com.google.android.gms:user_input的原始数据源ID,替换后重新调用接口。

3. 验证权限配置

  • 确保OAuth 2.0授权时已申请https://www.googleapis.com/auth/fitness.respiratory_rate.read权限。
  • 若之前调整过权限范围,需要重新获取授权凭证,旧凭证可能未包含新权限。

4. 核对时间范围与格式

  • 确认datasetId格式为{startTimeNs}-{endTimeNs},且时间范围完全覆盖你的呼吸记录时间。
  • 可通过时间戳转换工具验证纳秒级UTC时间是否对应正确的日期区间,避免因时区或计算错误导致范围不匹配。

5. 尝试聚合查询验证数据存在性

如果衍生数据源查询无结果,可先调用聚合接口确认云端是否有数据:

POST /fitness/v1/users/me/dataset:aggregate
Content-Type: application/json

{
  "aggregateBy": [
    {
      "dataTypeName": "com.google.respiratory.rate"
    }
  ],
  "bucketByTime": { "durationMillis": 86400000 },
  "startTimeMillis": 1675209600000,
  "endTimeMillis": 1675728000000
}

内容的提问来源于stack exchange,提问作者Shubhangi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 21:25:52