微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

API 中的 Google FIT 会话与应用程序中的不同

如何解决API 中的 Google FIT 会话与应用程序中的不同

我通过 PHP SDK 使用 Google FIT REST API 来查询商店、获取会话和数据集数据、聚合它们并向用户显示。一般来说,它适用于自动跟踪的活动,但我有很多差异(包括时间、步数、距离和卡路里)。

问题:

  1. 自动检测到的活动来自哪里?
  2. 如何克服这个问题并正确查询自动检测到” Google FIT 中的活动?
  3. 他们是如何做到这一点的(应用内的汇总)?

授予的范围:

https://www.googleapis.com/auth/fitness.activity.read
https://www.googleapis.com/auth/fitness.location.read

来自google fit App的数据: 活动(跑步):4 月 14 日,15:41 - 16:00,步数:2802,卡路里:203,移动分钟:19

通过调用 /aggregate 端点为会话提供的聚合数据: 参数:

[ 
    'startTimeMillis' => '1618358400000','endTimeMillis' => '1618444799000','aggregateBy' => [
        ["dataTypeName" => "com.google.active_minutes"],["dataTypeName" => "com.google.calories.expended"],["dataTypeName" => "com.google.step_count.delta"],["dataTypeName" => "com.google.distance.delta"]
    ]
]

回复

{
        "id": "...:activemode:running:...","start": "1618408461088","startDate": {
            "date": "2021-04-14 15:54:21.000000","timezone_type": 3,"timezone": "Europe\/Warsaw"
        },"end": "1618408901980","endDate": {
            "date": "2021-04-14 16:01:41.000000","name": "bieganie po po\u0142udniu","description": null,"sum": {
            "minutes": 7,"calories": 380.7721481323242,"distance": 3934.6239171028137,"steps": 3363
        },}

从 Sessions API 获取的聚合数据(并标准化):

        {
            "activeTimeMillis": null,"activityType": 8,"description": "","endTimeMillis": "1618408901980",// normalizes to 14 April 2021 16:01:41
            "id": "...:activemode:running:...","modifiedTimeMillis": "1618411492587","startTimeMillis": "1618408461088",// normalizes to 14 April 2021 15:54:21
            "application": {
                "detailsUrl": null,"name": null,"packageName": "com.google.android.apps.fitness","version": null
            }
        },

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。