我正在测试OAuth 2.0 Playground中的一些内容,并试图使用他们的REST API将数据输入和输出Google Fit
我之前已经成功完成了这项工作,我只是没有写下我所做的事情。现在我已经回来使它成为一件正确的事情并且不能让它再次运作。
我可以通过信息中心访问Google Fit数据源。我可以从以下位置获取存在的dataSource列表:
https://www.googleapis.com/fitness/v1/users/me/dataSources
这很成功。我还创建了自己的流,它有一个名为
的浮点权重值raw:com.google.weight:b6ac18c0:dten.sync
它已有数据,我上次使用它时把它放在那里。我可以通过以下
请求GET
来选择所有数据
https://www.googleapis.com/fitness/v1/users/me/dataSources/raw:com.google.weight:b6ac18c0:dten.sync/datasets/0-1432193482000000000
它返回我上次输入的所有数据点为JSON
然后我尝试PATCH
将我自己的数据添加到folliwng URL的数据
https://www.googleapis.com/fitness/v1/users/me/dataSources/raw:com.google.weight:b6ac18c0:dten.sync/datasets/1432193482000000000-1432193482000000000
将此作为请求正文
{
"minStartTimeNs": "1421912895000000000",
"maxEndTimeNs": "1432193482000000000",
"dataSourceId": "raw:com.google.weight:b6ac18c0:dten.sync",
"point": [
{
"startTimeNanos": "1421912895000000000",
"modifiedTimeMillis": "1421912895000",
"endTimeNanos": "1421912895000000000",
"value": [
{
"fPVal": 89.1
}
],
"dataTypeName": "com.google.weight"
}
]
}
但我回来了
{
"error": {
"code": 400,
"message": "Unable to fetch DataSource for Dataset: raw:com.google.weight:b6ac18c0:dten.sync",
"errors": [
{
"domain": "global",
"message": "Unable to fetch DataSource for Dataset: raw:com.google.weight:b6ac18c0:dten.sync",
"reason": "invalidArgument"
}
]
}
}
我找不到任何人在任何地方引用类似的东西我在这里
另请注意,如果我错过拼写我的来源,它会告诉我因为他们不匹配URL,如果我包含一个空的数据点列表,我会得到相同的错误。我很失落,所以我把它扔到那里,看看是否有人知道这意味着什么
提前致谢
编辑:我尝试更改项目的整数代码的十六进制代码,并收到有关不受信任来源的错误。所以我尝试制作一个按预期工作的新测试数据源。有点恼火,但我想我会重新开始......
答案 0 :(得分:1)
确定我是愚蠢的,并且没有在仪表板右上方的OAuth设置中设置我自己的凭据,就像它在这里所说的那样。我忘了那一点-_-现在我可以再次访问我自己的流,它在流ID中显示我的整数项目ID而不是十六进制
https://developers.google.com/fit/rest/v1/get-started
现在我得到了无效的论据,但是......无论> _<
编辑2:
无效的参数是因为我有fPVal
而不是fpVal
而且不应该提交modifiedTimeMillis工厂,显然