【发布时间】:2019-11-08 14:18:26
【问题描述】:
这是我正在做的事情: 我在手机上安装了 Google Fit 应用并收集了一些健身数据:
然后我转到OAuth 2.0 Playground 并尝试通过 REST 请求读取该数据:
方法:POST 网址:https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate 正文:
{
"aggregateBy": [{
"dataTypeName": "com.google.calories",
"dataSourceId": "derived:com.google.calories.bmr:com.google.android.gms:merged"
}],
"bucketByTime": { "durationMillis": 86400000 },
"startTimeMillis": 1547232519000,
"endTimeMillis": 1547837319000
}
我期望得到的: 接下来 7 天的 7 个数据集,每个数据点都有一个数据点。预期值如下:
- 1 月 12 日:0
- 1 月 13 日:0
- 1 月 14 日:1688
- 1934 年 1 月 15 日
- 1 月 16 日:844
- 1 月 17 日:0
- 1 月 18 日:857
我实际得到的是:
除 14 日以外的所有日期(当然开始和结束时间不同):
{
"startTimeMillis": "1547578119000",
"endTimeMillis": "1547664519000",
"dataset": [
{
"dataSourceId":"derived:com.google.calories.bmr.summary:com.google.android.gms:aggregated",
"point": []
}
]
},
1 月 14 日:
{
"startTimeMillis": "1547491719000",
"endTimeMillis": "1547578119000",
"dataset": [
{
"dataSourceId": "derived:com.google.calories.bmr.summary:com.google.android.gms:aggregated",
"point": [
{
"startTimeNanos": "1547500395267000000",
"originDataSourceId": "derived:com.google.calories.bmr:com.google.android.gms:from_height&weight",
"endTimeNanos": "1547500402445000000",
"value": [
{
"mapVal": [],
"fpVal": 1688.25
},
{
"mapVal": [],
"fpVal": 1688.25
},
{
"mapVal": [],
"fpVal": 1688.25
}
],
"dataTypeName": "com.google.calories.bmr.summary"
}
]
}
]
},
有谁知道为什么我对大多数括号没有任何价值,而我却为其中一个获得价值?为什么第 14 位的值是 3 倍?
(我也无法强制这些代码块正确格式化,对此深表歉意)
【问题讨论】:
-
你能用小时对齐的垃圾箱来做吗?例如,您的开始时间戳是 2019-01-11T18:48:39+00:00 - 您可以尝试使用 2019-01-11T18:00:00+00:00 (或 01:00:00 - 我假设你是在中欧时间)? (它不应该被破坏到不接受任意时间;但我只是想排除这个原因)
-
我刚试了一下,结果是一样的。我还尝试将开始和结束时间设置为 00:00,并将括号大小更改为 3600000(1 小时),但这些都不起作用。
标签: google-api google-fit