Google Proximity API在pageToken查询上返回500内部错误

时间:2016-02-04 21:41:43

标签: eddystone google-beacon-platform

我正在尝试列出使用OAuth密钥注册的信标数量,但我一次只收到10个。我正在构建我的HTTP请求,如下所示:

https://proximitybeacon.googleapis.com/v1beta1/beacons

我试图将maxResults设置为大于检索到的信标总数(?maxResults = 20),但总是返回400 Bad Request错误(maxResults未知)。当我尝试使用pageToken = [KNOWN NEXT PAGE TOKEN]时,我收到500内部错误。

如果没有能力使用其中任何一种,我就看不到我的前10个信标了。任何帮助将不胜感激!

编辑:根据this文档,看起来这些参数不适用于Proximity API。我不确定这是否正确,因为这意味着不可能列出前10个返回的信标。

3 个答案:

答案 0 :(得分:2)

获取后续结果页面的正确方法是使用您描述的pageToken参数。虽然我相信我之前已经看过这项工作,但我已经确认API目前正在为此返回500错误。 (请参阅下面的测试结果。)看来这是服务器端问题。

curl 'https://proximitybeacon.googleapis.com/v1beta1/beacons?pageSize=3' -H 'Authorization: Bearer MY_SECRET_OAUTH_TOKEN_HERE'
{
  "beacons": [
    {
      ...
    },
    {
      ...
    },
    {
      ...
    }
  ],
  "nextPageToken": "Civ55nT/+//+zN7Pzs/Nz8zPy8/Kz8nPyM/Hz8bPns+dz5zPm8+ayMmdnf/+EAMhko+M85V85JMx00LwZ+bdJe8xuNeGz7eSTJAxP86ZtGulO0o5AQAEAIsZAABQAFoLCcck85hsjQ0JEAE",
  "totalCount": "5"
}

$ curl 'https://proximitybeacon.googleapis.com/v1beta1/beacons?pageSize=3&pageToken=Civ55nT/+//+zN7Pzs/Nz8zPy8/Kz8nPyM/Hz8bPns+dz5zPm8+ayMmdnf/+EAMhko+M85V85JMx00LwZ+bdJe8xuNeGz7eSTJAxP86ZtGulO0o5AQAEAIsZAABQAFoLCcck85hsjQ0JEAE' -H 'Authorization: Bearer MY_SECRET_OAUTH_TOKEN_HERE'
{
  "error": {
    "code": 500,
    "message": "Internal error encountered.",
    "status": "INTERNAL"
  }
}

```

答案 1 :(得分:2)

在浪费时间解决这个问题(发送邮件请求与空请求主体以激活/停用信标的其他问题...)后,我的团队选择使用神话般的Google Proximity Beacon API Client来解决所有这些问题并给你一个更好的经验,模型和功能。

请注意,按页面列出的大型列表和小型信标仍然存在一些问题:20 000个信标,100个/页,1000个模拟==>完成了~80%

答案 2 :(得分:1)

在开发自定义客户端时,我遇到了相同的500错误,因为json中提供的pageToken不是url-safe:在将令牌作为url参数提供之前,需要对令牌进行url编码。

然后分页工作不可靠:几个小页面(pageSize 10-100)或第二个大页面(pageSize 1000)后随机400错误。

现在使用具有相同Oauth2凭据的official java client我可以可靠地遍历20,000多个信标(使用pageSize 1000),所以我可能错过了参数编码并且API可以正常工作。