如何从Google Fitness REST API检索步数数据?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从Google Fitness REST API检索步数数据?相关的知识,希望对你有一定的参考价值。
自从我在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读取和聚合步数数据?
事实证明,答案是在docs。这是请求的格式。
GET https://www.googleapis.com/fitness/v1/users/{userId}/dataSources/{dataSourceId}/datasets/{datasetId}
唯一支持的{userId}
值是me
(带身份验证)。
通过运行qazxsw poi可以获得qazxsw poi的可能值。
我错过的是{dataSourceId}
不是真正的ID,但实际上你定义了你感兴趣的时间跨度。该变量的格式是different request,其中时间是自纪元以来的纳秒。
我能够通过{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
会。
这对我来说很有把握,希望它有助于某人!
我尝试使用以下URL和正文的post方法。这将有效,请检查内联评论。
使用URL:1470475368-1471080168
方法:POST正文:
1470475368000000000-1471080168000000000
以上是关于如何从Google Fitness REST API检索步数数据?的主要内容,如果未能解决你的问题,请参考以下文章
将点保存到Google Fitness API(fitness.body.write)
Google Fit REST API - 带有空格的 dataStreamId 导致错误
如何从 Google Drive 上传和下载文件(使用 Rest Api v3)
如何从 Firebase 函数调用第三方 Rest API 以用于 Google 上的操作