我正在努力将Fit REST API返回的“活跃时间”与现实相匹配。
作为一个例子 - 在12月14日,我有两次散步,每次约45分钟。 api将其中一个返回为类型7
(“行走” - 右!),另一个返回类型0
(在车辆中 - 错误!)。但是,Fit应用程序显示为“行走”,因此它显然使用不同的数据源。
我检查了其他几天,在这些日子里,类型0
的会话确实是一个有效的“车辆”会话。
我尝试了所有返回com.google.activity.segment的汇总数据源。其中大多数都是空的,我只在merge_activity_segments
和platform_activity_segments
中找到了数据(而且它们似乎完全相同)。
谷歌的文档有关于数据同步延迟的警告,但他们从未指明此延迟的时间长短。我正在查看的数据大约是24小时 - 如果它们的同步速度很慢,那么这个API或多或少都无法使用。
我正在使用以下POST到https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
{
"aggregateBy": [
{
"dataSourceId": "derived:com.google.activity.segment:com.google.android.gms:merge_activity_segments"
}
],
"endTimeMillis": "1481788800000",
"startTimeMillis": "1481702400000",
"bucketByTime": {
"period": {
"timeZoneId": "America/Los_Angeles",
"type": "day",
"value": 1
}
}
}
供参考 - 活动类型:https://developers.google.com/fit/rest/v1/reference/activity-types
有没有人能够从Fit的REST API检索正确的活动时间?有什么建议吗?
顺便说一下,步骤和卡路里似乎工作正常 - 只需汇总以下数据集:derived:com.google.calories.expended:com.google.android.gms:merge_calories_expended
和derived:com.google.step_count.delta:com.google.android.gms:estimated_steps
附注 - 它可能是我见过的一家大公司记录最差的API。