我正在尝试列出使用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个返回的信标。
答案 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可以正常工作。