gpt4 book ai didi

javascript - Google Drive API 请求限制

转载 作者:搜寻专家 更新时间:2023-11-01 04:36:47 25 4
gpt4 key购买 nike

我寻求支持或特殊知识。

在我的应用程序中,我正在使用 Google 云端硬盘,需要插入/删除对 1000 多个文件的权限。Google API 不允许我在一个请求中设置对多个文件的权限,因此我需要发出 1000 多个请求(或将其包装成一批或几批)。

我的请求是这样的:

POST/drive/v2/files/0B18tlN6SgYRaUzl1MUlnNHlGSEE/permissions?sendNotificationEmails=false&quotaUser=00787465305247954313&alt=json

但是当我尝试向 Google Drive API 发出批量请求时,我收到了包含大量错误响应的批量响应。很少有批量的第一 react 是 OK 但不是全部。

大多数这些错误的响应看起来像这样:

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"
}
}

有些是这样的:

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"
}
}

批处理中的最后几个响应如下所示:

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"
}
}

当我收到配额限制错误并决定增加 Google 云端硬盘控制台中的请求/用户/秒配额时,有什么奇怪的。它被设置为 10000/用户/秒。但是我只批量发送了 1000 个请求,但已经收到“403 Rate Limit Exceeded”错误。然后我开始收到“500 Internal Error”错误。

然后我发现我应该设置 'quotaUser' 参数来请求,但没有任何改变。我仍然遇到这些错误。

Google Drive Web UI 的调查向我展示了如果决定共享 1000 多个文件,Google Drive 如何设置文件权限。我花了大约 20-30 分钟 才共享了我的所有文件。在“事件”面板中,我看到文件成批共享。有时这些束有 1 个文件大小,有时有 40 个文件大小。但最终所有文件都共享了,看起来 Google Drive 团队使用了重试队列之类的东西,或者只是没有为自己的请求设置配额。

主要问题是:

  • 为什么我仍然收到这些配额错误(指定为 10000Google Cloud Console 中的请求/用户/秒限制)以及如何避免他们?
  • 为什么 Google Drive API 返回“500 Internal Error”和“400Bad Request”错误?
  • 对此有任何解决方法吗?

P.S.:我有兴趣帮助 Google Drive 团队,我可以提供完整的跟踪和代码示例。

最佳答案

虽然您可以设置每个用户的 QPS 以防止恶意用户消耗您的配额,但将其设置为任意高的数字并不意味着您将能够发出那么多请求。每个应用程序的 QPS 限制也会生效。默认值远低于 1000qps。

如果您需要额外的配额,请通过开发者控制台申请。

关于javascript - Google Drive API 请求限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25744367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com