How to Resolve a 403 error: User rate limit exceeded in Google Drive API?
How to Resolve a 403 error: User rate limit exceeded in Google Drive API?
我得到
"code": 403,
"message": "User Rate Limit Exceeded"
在我的网络应用程序中使用 Google Drive API
尽管配额是每 100 秒 10,000 个请求,而我的平均值不到 2:
我该如何解决这个错误?如何实现文档所说的指数退避?
Google api 有多种类型的配额。
影响项目本身的基于项目的配额。这些配额可以延长。例如,如果您的项目可以在 100 秒前发出 10000 个请求。你可以要求延长。
然后是基于用户的配额。这些配额限制了每个用户可以发送的数量。
User Rate Limit Exceeded
表示您正在达到用户速率配额。用户速率配额是洪水保护,它们确保您的应用程序的单个用户不能同时发出许多请求。
无法延长这些配额。
如果您获得了用户速率限制配额,那么您需要放慢您的应用程序并实施指数退避。
如何实现指数退避取决于您和您使用的语言,但它基本上涉及再次重试相同的请求,每次失败时只增加等待时间
图表
google 云控制台中的图表是一个猜测,无论如何都不准确。如果您收到错误消息,您应该按照错误消息进行操作,而不是按照图表中的内容进行操作。
经过数小时的搜索和思考,我发现,
'User Rate Limit Exceeded' 具有垃圾邮件保护功能,每秒最多允许 10 个请求。
因此我发现了一个偷懒的技巧,通过使用以下方法延迟调用:
usleep(rand(1000000,2000000);
它只是将调用延迟 1 到 2 秒之间的随机持续时间。
我得到
"code": 403, "message": "User Rate Limit Exceeded"
在我的网络应用程序中使用 Google Drive API
尽管配额是每 100 秒 10,000 个请求,而我的平均值不到 2:
我该如何解决这个错误?如何实现文档所说的指数退避?
Google api 有多种类型的配额。
影响项目本身的基于项目的配额。这些配额可以延长。例如,如果您的项目可以在 100 秒前发出 10000 个请求。你可以要求延长。
然后是基于用户的配额。这些配额限制了每个用户可以发送的数量。
User Rate Limit Exceeded
表示您正在达到用户速率配额。用户速率配额是洪水保护,它们确保您的应用程序的单个用户不能同时发出许多请求。
无法延长这些配额。
如果您获得了用户速率限制配额,那么您需要放慢您的应用程序并实施指数退避。
如何实现指数退避取决于您和您使用的语言,但它基本上涉及再次重试相同的请求,每次失败时只增加等待时间
图表
google 云控制台中的图表是一个猜测,无论如何都不准确。如果您收到错误消息,您应该按照错误消息进行操作,而不是按照图表中的内容进行操作。
经过数小时的搜索和思考,我发现, 'User Rate Limit Exceeded' 具有垃圾邮件保护功能,每秒最多允许 10 个请求。
因此我发现了一个偷懒的技巧,通过使用以下方法延迟调用:
usleep(rand(1000000,2000000);
它只是将调用延迟 1 到 2 秒之间的随机持续时间。