我正在使用Google Fit REST API(通过Google Java客户端库)将活动发布到Google健身中。
总之,我正在做的是创建涵盖给定时间段的三个DataSet
:
"com.google.location.sample"
- 位置"com.google.step_count.delta"
- 步骤"com.google.calories.expended"
- 卡路里 ...然后创建一个Session
,最后一个DataSet
只有一个活动段(在这种情况下,所有时间都在行走)。
基本上这一切似乎都有效 - 我可以查看http://fit.google.com,我可以看到活动,正确的时间,地点,持续时间,步数和卡路里。问题在于地图......所有显示的都是整个行走区域的阴影圆圈 - 它没有显示我在地点DataSet
中包含的曲目/路径。
编辑...以下是an example的内容(在网络用户界面中)。
当活动的其余部分完全显示时,为什么这不能正确显示?
这些是我的一些怀疑
altitude
或accuracy
- 这是"com.google.location.sample"
所需的两个字段。所以我将altitude
设置为0.0(米),并将accuracy
设置为5.0(米)。我特别想知道谷歌是否对我的反应很严重,每个点的高度设置为0.0?DataPoint
个,而步数和卡路里DataSet
每个只有一个DataPoint
- 即我只有总步数和总卡路里,散步。因此存在不一致性(每个数据集的最早开始日期和最新结束日期相同)有人可以提供有关为什么会这样做的任何指导吗?
答案 0 :(得分:0)
认为这可能是由于数据点冲突造成的。如上所述here。虽然这是针对Android的API,但我认为在使用REST API时也是如此。
您应用的
DataPoint
中的每个DataSet
都必须有startTime
和endTime
定义了DataSet
内的唯一间隔,但没有DataPoint
个实例之间的重叠。如果您的应用程序要求插入一个 与现有DataPoint
实例冲突的新DataPoint
新的DataPoint
被丢弃。插入可能重叠的新DataPoint
现有数据点,使用中描述的HistoryApi.updateData
方法 更新数据。
您提到跨数据点的日期相同。因此,压倒其他人,它只被视为一个。
适用于您的com.google.location.sample
数据类型字段。认为离开它们更好。尽量不要为altitude
和accuracy
设置静态值。