Vla*_*lev 5 javascript google-api quota google-drive-api
我要求支持或特殊知识。
在我的应用中,我正在使用Google云端硬盘,并且需要插入/删除1000多个文件的权限。Google API不允许我在一个请求中设置对多个文件的权限,因此我需要发出1000多个请求(或将其包装成一批或几批)。
我的请求如下所示:
POST /drive/v2/files/0B18tlN6SgYRaUzl1MUlnNHlGSEE/permissions?sendNotificationEmails=false"aUser=00787465305247954313&alt=json
但是,当我尝试向Google Drive API发出批处理请求时,我得到了带有很多错误响应的批处理响应。批处理中很少有第一个响应可以,但不是全部。
这些错误的响应大多数看起来像这样:
Content-Type: application/http
Content-ID: <response-280781395>
HTTP/1.1 403 Forbidden
Content-Type: application/json; charset=UTF-8
Date: Tue, 09 Sep 2014 11:45:03 GMT
Expires: Tue, 09 Sep 2014 11:45:03 GMT
Cache-Control: private, max-age=0
Content-Length: 199
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "rateLimitExceeded",
"message": "Rate Limit Exceeded"
}
],
"code": 403,
"message": "Rate Limit Exceeded"
}
}
Run Code Online (Sandbox Code Playgroud)
其中一些看起来像这样:
HTTP/1.1 500 Internal Server Error
Content-Type: application/json; charset=UTF-8
Date: Tue, 09 Sep 2014 11:45:03 GMT
Expires: Tue, 09 Sep 2014 11:45:03 GMT
Cache-Control: private, max-age=0
Content-Length: 180
{
"error": {
"errors": [
{
"domain": "global",
"reason": "internalError",
"message": "Internal Error"
}
],
"code": 500,
"message": "Internal Error"
}
}
Run Code Online (Sandbox Code Playgroud)
批处理中的最后几个响应如下所示:
Content-Type: application/http
Content-ID: <response-901482964>
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=UTF-8
Date: Tue, 09 Sep 2014 11:45:03 GMT
Expires: Tue, 09 Sep 2014 11:45:03 GMT
Cache-Control: private, max-age=0
Content-Length: 171
{
"error": {
"errors": [
{
"domain": "global",
"reason": "badRequest",
"message": "Bad Request"
}
],
"code": 400,
"message": "Bad Request"
}
}
Run Code Online (Sandbox Code Playgroud)
当我收到配额限制错误并决定增加Google Drive控制台中的请求/用户/第二个配额时,这很奇怪。它设置为10000 /用户/秒。但是我只发送了1000个请求,但已经出现“ 403 Rate Limit Exceeded ”错误。然后我开始出现“ 500 Internal Error ”错误。
然后我发现我应该将' quotaUser '参数设置为request,但是什么都没有改变。我仍然遇到这些错误。
在Google云端硬盘网络界面中进行的调查显示,如果决定共享1000多个文件,Google云端硬盘如何设置文件的权限。我花了大约20-30分钟的时间才能共享所有文件。在“活动”面板中,我看到文件是成束共享的。有时,这些束的大小为1个文件,有时为40个文件。但是所有文件最终都共享了,看起来Google云端硬盘团队使用了诸如重试队列之类的方法,或者只是没有为自己的请求设置配额。
主要问题是:
PS:我有兴趣帮助Google云端硬盘团队,因此我可以提供完整的跟踪和代码示例。
虽然您可以设置每用户 QPS 以防止恶意用户消耗您的配额,但将其设置为任意高的数字并不意味着您能够发出那么多请求。每个应用程序的 QPS 限制也会生效。默认值远低于 1000qps。
如果您需要额外配额,请通过开发人员控制台请求。
| 归档时间: |
|
| 查看次数: |
2248 次 |
| 最近记录: |