通过REST API从Google Fit获取所有正在运行的活动

时间:2018-07-10 16:20:29

标签: rest google-fit google-fit-sdk

是否可以通过REST API从Google Fitness商店获取所有活动?

我目前的假设是其他应用将其活动存储在会话中,我可以使用Users.sessions.list来检索它们。但是,那里的信息并没有真正包含所有已存储的信息,或者我想看到的是:当我通过Fit Android应用手动添加短期运行时,我希望可以通过会话API以某种方式访问​​此信息。这至少应包括我提供的信息,例如距离或时间。

通过应用或web interface查看相同的信息,我可以看到我之前输入的所有详细信息以及大概的步数和卡路里。

enter image description here

如何通过API获取此信息?

我目前主要对type跑步或慢跑(8、56-58)的活动感兴趣,除了会话中已经提供的时间信息外,我还想读取距离。

1 个答案:

答案 0 :(得分:0)

不确定,如果这是正确的方法,但是如果按照以下步骤操作,我会获得所需的所有信息

  1. 通过Users.sessions.list
  2. 查找正确的会话
  3. 通过Users.datasets.aggregate查询所有数据:
    • startTimeMillisendTimeMillis设置为相关会话中的值
    • 设置bucketBySession以按会话对结果进行分组。
    • 我明确查询所有数据源:对于每个数据源ID,我添加一个{ "dataSourceId": <id>} to the aggregateBy`数组。不确定是否有必要

生成的存储桶包含与会话有关的所有信息。对于我的用例,我需要清理重载的数据:一些数据源以步长(派生)返回距离,而我需要以米为单位的物理长度。

这似乎对我的Fit数据进行了额外的清洁,但我需要检查一下,是否也适用于其他用户的数据。