如何从Google Fitness REST API检索步数数据?

问题描述 投票:9回答:3

自从我在Nexus 5上安装Google Fit应用程序以来,它一直在跟踪我的步数和步行时间。我想通过Google Fitness REST api(docs)检索此信息,但我无法弄清楚如何从REST API获取任何数据。

我已经使用OAuth 2.0操场成功列出了dataSources,但我尝试过的示例都没有返回任何健身数据。我觉得我需要使用类似于(Android SDK)的DataReadRequest的东西,但我不是在构建Android应用程序 - 我只想访问已经由Google Fit应用程序存储的健身数据。

甚至可以获得Google Fit应用收集的数据吗?如果是这样,我如何使用REST api读取和聚合步数数据?

google-api google-fit
3个回答
6
投票

事实证明,答案是在docs。这是请求的格式。

GET https://www.googleapis.com/fitness/v1/users/{userId}/dataSources/{dataSourceId}/datasets/{datasetId}

唯一支持的{userId}值是me(带身份验证)。

通过运行qazxsw poi可以获得qazxsw poi的可能值。

我错过的是{dataSourceId}不是真正的ID,但实际上你定义了你感兴趣的时间跨度。该变量的格式是different request,其中时间是自纪元以来的纳秒。


3
投票

我能够通过{datasetId}得到这个工作,并注意到他们为{startTime}-{endTime}请求添加了他们的开始和结束时间,额外的0 - 九个实际上。

使用与上面答案中提到的相同的google php client请求格式:

GET

现在这里是一个使用unix时间戳的例子(php的GET函数使用了这个)

https://www.googleapis.com/fitness/v1/users/{userId}/dataSources/{dataSourceId}/datasets/{datasetId}

这是我得到的回应:

time()

但是,如果你用九个https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:com.google.android.gms:estimated_steps/datasets/1470475368-1471080168 附加你的开始和结束时间,你在{ "minStartTimeNs": "1470475368", "maxEndTimeNs": "1471080168", "dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps } 请求中添加并按照以下方式塑造你的请求:

0

它有效 - 这是我得到的回应:

GET

响应时间要长得多,但为了这篇文章,我将其截断了。因此,当您将https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:com.google.android.gms:estimated_steps/datasets/1470475368000000000-1471080168000000000 参数传递给请求时:

{ "minStartTimeNs": "1470475368000000000", "maxEndTimeNs": "1471080168000000000", "dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps", "point": [ { "modifiedTimeMillis": "1470804762704", "startTimeNanos": "1470801347560000000", "endTimeNanos": "1470801347567000000", "value": [ { "intVal": -3 } ], "dataTypeName": "com.google.step_count.delta", "originDataSourceId": "raw:com.google.step_count.delta:com.dsi.ant.plugins.antplus:AntPlus.0.124" }, 不起作用,但datasets会。

这对我来说很有把握,希望它有助于某人!


0
投票

我尝试使用以下URL和正文的post方法。这将有效,请检查内联评论。

使用URL:1470475368-1471080168方法:POST正文:

1470475368000000000-1471080168000000000
© www.soinside.com 2019 - 2024. All rights reserved.