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



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

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

我试图将 maxResults 设置为大于检索到的信标总数 (?maxResults=20), 但这总是返回 400 错误请求错误 (最大结果未知).当我尝试使用 pageToken=[已知的下一页令牌] 时,我收到 500 的内部错误。

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

编辑:根据此文档,这些参数似乎不适用于邻近感应API。我不确定这是否正确, 因为这意味着不可能列出超过前 10 返回的信标.

获取后续结果页的正确方法是使用您所描述的 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"
  }
}
'

''

在这个问题上浪费了数小时之后 (发送带有空请求正文的帖子请求以激活/停用信标的其他问题...), 我的团队选择使用神话般的 Google 邻近信标 API 客户端,它解决了所有这些问题,并为您提供了更好的体验、模型和功能。

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

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

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

现在使用具有相同 Oauth2 凭据的官方 java 客户端,我可以可靠地迭代 20,000+ 信标(页面大小为 1000),所以我可能错过了一些参数编码和 API 确实有效的东西。

最新更新