GoogleFit 无法从 API 中取回卡路里

问题描述

我在使用 GoogleFit API 时遇到问题,我可以返回步骤,但无法获取卡路里。

这是我要发布的网址:

https://fitness.googleapis.com/fitness/v1/users/me/dataset:aggregate

这是 JSON 格式的正文:

{
  "aggregateBy": [{
    "dataSourceId": "derived:com.google.calories.expended:com.google.android.gms:from_activities" 
  }],"bucketByTime": { "durationMillis":86400000 },"startTimeMillis" : 1617235200000,"endTimeMillis" : 1617287510000
}

回复如下:

{
    "bucket": [
        {
            "startTimeMillis": "1617235200000","endTimeMillis": "1617287510000","dataset": [
                {
                    "dataSourceId": "derived:com.google.calories.expended:com.google.android.gms:aggregated","point": []
                }
            ]
        }
    ]
}

解决方法

我建议按数据类型而不是数据来源聚合:

  "aggregateBy": [{
    "dataTypeName": "com.google.calories.expended" 
  }],

derived:com.google.calories.expended:com.google.android.gms:from_activities 这样的流是一个实现细节。