使用quotaUser后,userRateLimitExceeded错误谷歌驱动器API

时间:2017-09-19 19:49:04

标签: node.js google-api google-drive-api

我正在从我的服务器发出几个api请求。在阅读了一堆其他人的问题之后,大多数人说如果我将quotaUser变量作为随机值包含在内,它应该考虑每个请求它自己的用户。请参阅请求

enter image description here

我不知道为什么我会收到这个错误。

enter image description here

你可以看到我甚至没有接近我的极限.. enter image description here

如何通过此错误?就好像实际上没有使用quotaUser一样。

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

也许这SO post可以帮助你。

以下是文档中将如何使用quotaUser的讨论。

  

<强> quotaUser

     

替代 userIp

     
      
  • 即使在用户的IP地址未知的情况下,也允许您从服务器端应用程序强制执行每用户配额。这可能发生,   例如,对于在App Engine上运行cron作业的应用程序   用户代表。
  •   
  • 您可以选择唯一标识用户的任意字符串,但最多只能包含40个字符。
  •   
  • 如果同时提供,则覆盖 userIp
  •   
  • 详细了解Capping API usage
  •   

来自SO帖子的answer

  

如果您在每个请求中发送不同的quotaUser,请说随机   数字,然后谷歌认为它是一个不同的用户,并将假设   它在10秒内只有一个请求。这是一个小技巧   在运行请求的服务器应用程序时,围绕ip限制   来自同一IP的一切。

答案 1 :(得分:1)

仅遇到此错误,经过一番挖掘,看来这些仅用于对公共文件的匿名请求。从https://developers.google.com/drive/api/v3/query-parameters(页面底部)开始:

Note: Per-user quotas are always enforced by the Drive API, and the user's identity is determined from the access token passed in the request. The quotaUser and userIp parameters can only be used for anonymous requests against public files.

答案 2 :(得分:0)

另一种方法是增加“每用户每100秒100个请求”的限制。这不是立即的,因为您需要填写有正当理由的表格,然后Google才会接受或拒绝更改限额的请求。

https://console.developers.google.com/apis/api/sheets.googleapis.com/overview->配额->单击“每用户每100秒写入请求”旁边的铅笔图标

Quota table

您可以将配额增加到每位用户每100秒1000个请求。