我有一个适用于各种Google API的App Engine应用。我启动了一个同步任务,可以将3000个事件同步到各种用户日历。它工作了一段时间,但现在我收到以下错误:
PHP Fatal error: Uncaught exception 'Google_Service_Exception' with message '{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "rateLimitExceeded",
"message": "Rate Limit Exceeded"
}
],
"code": 403,
"message": "Rate Limit Exceeded"
}
}
如果我查看Api仪表板,限制非常高:
每天查询1,000,000
每个用户每100秒查询50,000,000。
如何克服此错误?我希望此任务完成,以便用户在日历中查看事件。
答案 0 :(得分:0)
如documentaion中所述,用户速率限制是防洪保护。应用程序每秒只能生成X个请求。
403:超出限额 已达到开发者控制台的每用户限制。
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "rateLimitExceeded",
"message": "Rate Limit Exceeded"
}
],
"code": 403,
"message": "Rate Limit Exceeded"
}
}
建议采取的行动:
您可以尝试添加配额用户,这有时会有所帮助。
quotaUser唯一标识用户的任意字符串 允许您从服务器端应用程序强制执行每用户配额,即使在用户的IP地址未知的情况下也是如此。例如,对于代表用户在App Engine上运行cron作业的应用程序,可能会发生这种情况。 您可以选择唯一标识用户的任意字符串,但限制为40个字符。
如果您收到配额错误,那么即使您认为它没有,也会超出配额错误。应用程序级配额不能增加。你唯一能做的就是减速。
答案 1 :(得分:0)
我也找不到这个问题的答案。默认值为每100秒500个请求,即使我将其增加,一段时间后,我也只能每秒发送5个请求,限制为500。
这意味着始终使用旧的默认值。