我正在尝试创建一个可以自动为我们的团队共享文档的应用。 我使用API方法“drive.permissions.insert”。一切都很好,但一段时间后我开始出错:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "userRateLimitExceeded",
"message": "Rate limit exceeded. User message: \"Квота совместного доступа превышена.\""
}
],
"code": 403,
"message": "Rate limit exceeded. User message: \"Квота совместного доступа превышена.\""
}
}
我的请求exapmle:
POST https://www.googleapis.com/drive/v2/files/0B_7sOpJvz1WpZnczelg2aXRXYjA/permissions?key={YOUR_API_KEY}
Content-Type: application/json
Authorization: Bearer ya29.4gABrB78psFgf0uFQJMSGOkC8rSnw7ckN2kX9rwCAou3lGM-JD4GZvGCHukAjWvQop9g55iPzkE7Yw
X-JavaScript-User-Agent: Google APIs Explorer
{
"role": "writer",
"type": "user",
"value": "user@gmail.com"
}
我知道我遇到了一些固有的API限制。
如何解决这些限制?
是否有助于连接支付API结算?
答案 0 :(得分:0)
线索就在问题中。 "超出限额。"表示您过快地向云端硬盘提交请求。
Drive可以很好地处理(大约)20次更新事务的爆发,但之后它会将事务限制为每2秒约1次。此限制无法更改。
答案 1 :(得分:0)
您的应用需要实施exponential backoff,而不是尝试自行隔离请求。连续发送它们,直到您获得速率限制超出错误,然后退回并重试,直到您再次成功通话。