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

Google Fit REST API返回步数与应用显示不一致,如何获取正确步数?

解决方案

1. 修正时间统计范围

Google Fit 应用内的日步数默认按设备所处时区的自然日(当日0点至次日0点)统计,你当前传入的startTimeMillis和endTimeMillis为随机时间段的时间戳,统计口径不一致是出现差值的核心原因之一。
请将对应参数调整为你要查询的日期当地时区0点整的毫秒时间戳,结束时间设为次日0点整的毫秒时间戳。

2. 替换正确的聚合数据源

你当前使用的estimated_steps数据源仅会返回谷歌系统估算的步数,会排除手动录入、第三方应用同步到Google Fit的步数记录,和应用端的统计口径不一致。请替换为谷歌官方对齐应用端统计的数据源:derived:com.google.step_count.delta:com.google.android.gms:merge_step_deltas

3. 调整后的正确请求体

{
    "aggregateBy": [
        {
            "dataTypeName": "com.google.step_count.delta",
            "dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:merge_step_deltas"
        }
    ],
    "bucketByTime": {
        "durationMillis": 86400000
    },
    "startTimeMillis": 1630540800000, // 示例:对应目标日期当地时区0点整的时间戳
    "endTimeMillis": 1630627200000 // 示例:对应目标日期次日当地时区0点整的时间戳
}

4. 额外注意事项

  • 确保你的OAuth授权申请了https://www.googleapis.com/auth/fitness.activity.read权限,且用户已授予活动数据读取权限,权限不足时API仅会返回部分公开的步数数据
  • Google Fit API的聚合数据存在5-10分钟的同步延迟,若查询当日实时步数,建议间隔10分钟以上再调用接口,避免因数据未同步完成出现差值
  • 若用户开启了谷歌账号多设备同步,需要确认接口调用时关联的账号和Google Fit应用登录的账号一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 04:45:04