google drive API 超出用户速率限制

Yan*_*ONO 7 javascript google-api google-drive-api

我正在 Google Drive API 之上构建一个 Web 应用程序。基本上,Web 应用程序显示照片和视频。媒体存储在 Google Drive 文件夹中:经过身份验证后,应用程序向 Google Drive API 发出请求以获取媒体的 URL 并显示每个 URL。目前,我只有 16 张图片可以显示。这些图像是硬写在应用程序中的(用于演示)。

我的应用程序访问 Google Drive API 时遇到问题。确实,经过多次尝试,我收到了随机请求的错误

超出用户速率限制。用户请求率超过配置的项目配额。您可以考虑重新评估 API 的预期每用户流量并相应地调整项目配额限制。您可以在 API 控制台中监控总配额使用情况并调整限制:https : //console.developers.google.com/apis/api/drive.googleapis.com/quotas?project=XXXXXXX

所以我查看了API控制台并没有看到什么特别的,我没有超过我的速率限制。也许我用错了谷歌 API,事实上我不知道......

右边的栏是我最后一次尝试:32 个查询

我按照 Google Drive API 文档检查我是否做错了什么。对于每个 API 请求,请求都包含访问令牌,因此它应该可以正常工作!

该应用程序的演示可用:https : //poc-drive-api.firebaseapp.com

源代码也可用:https : //github.com/Mcdostone/poc-google-drive-api(文件 App.js)

DaI*_*mTo 7

403: User Rate Limit Exceeded是洪水保护。一个用户一次只能发出这么多请求。不幸的是,您正在查看的图表中未显示用户速率限制。该图表实际上在显示真实情况方面非常糟糕。谷歌在后台进行测试,如果您超出了限制,就会排除错误。他们不需要在图表中实际向我们展示

403:超出用户速率限制

已达到每个用户的限制。这可能是来自开发者控制台的限制或来自云端硬盘后端的限制。

{ "error": { "errors": [ { "domain": "usageLimits", "reason": "userRateLimitExceeded", "message": "User Rate Limit Exceeded" } ], "code": 403, "message" :“超出用户速率限制” } }

建议的行动:

  • 提高开发者控制台项目中的每用户配额。
  • 如果一个用户代表 G Suite 域的许多用户发出大量请求,请考虑使用授权委托(设置quotaUser参数)的服务帐户。
  • 使用指数退避。

当您开始遇到此错误消息时,IMO 要做的主要事情是实现指数退避,这样您的应用程序将能够减慢速度并再次发出请求。