0

我正在 OAuth 2.0 Playground 中测试一些东西,并尝试使用他们的 REST API 将数据输入和输出 Google Fit

我以前成功地做到了这一点,我只是没有写下我做了什么..现在我回来使它成为正确的事情并且不能让它再次工作。

我可以通过仪表板访问 Google Fit 数据源。我可以从以下位置获取存在的数据源列表:

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将我自己的数据添加到以下 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 不匹配,如果我包含一个空的数据点列表,我会得到同样的错误。我很迷茫所以我把它扔在那里看看有没有人知道那是什么意思

提前致谢

编辑:我尝试为我的项目的整数代码更改十六进制代码,并收到有关不受信任源的错误。所以我尝试制作一个按预期工作的新测试数据源。有点恼火,但我想我会重新开始..

4

1 回答 1

1

好的,我很愚蠢,没有像这里所说的那样在仪表板右上角的 OAuth 设置中设置我自己的凭据。我忘了那一点 -_- 现在我可以再次访问我自己的流,它在流 id 中显示我的整数项目 id 而不是十六进制的

https://developers.google.com/fit/rest/v1/get-started

现在我得到无效的论点,但是.. 无论如何>_<

编辑2:

无效的论点是因为我有fPVal而不是fpVal修改TimeMillis Mills 显然不应该提交

于 2015-05-24T10:47:12.653 回答