Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何查看gmail api的每用户配额限制?_Java_Rest_Google Cloud Platform_Gmail Api - Fatal编程技术网

Java 如何查看gmail api的每用户配额限制?

Java 如何查看gmail api的每用户配额限制?,java,rest,google-cloud-platform,gmail-api,Java,Rest,Google Cloud Platform,Gmail Api,我们正在使用gmail api解析一些电子邮件ID的最新邮件。运行数小时后,我们总是会遇到: { "code" : 429, "errors" : [ { "domain" : "global", "message" : "User-rate limit exceeded. Retry after 2020-08-25T05:11:14.899Z", &

我们正在使用gmail api解析一些电子邮件ID的最新邮件。运行数小时后,我们总是会遇到:

{
 "code" : 429,
 "errors" : [ {
   "domain" : "global",
   "message" : "User-rate limit exceeded.  Retry after 2020-08-25T05:11:14.899Z",
   "reason" : "rateLimitExceeded"
 } ],
 "message" : "User-rate limit exceeded.  Retry after 2020-08-25T05:11:14.899Z",
 "status" : "RESOURCE_EXHAUSTED"
}
我想查看用户速率限制数据,但gmail api指标仅显示我们的应用程序指标。
我还随身携带电子邮件id凭据。是否有任何地方我们可以检查,以准确地查明有多少浪涌造成429错误?从我们的应用程序中,我们每秒发送大约3个请求(message.get、message.list、message.attachment.get、message.modify),从我们的api指标可以看出。每个用户的配额限制是15000/分钟或250/秒,我们似乎没有达到任何接近限制的地方。基于此,我们只能得出这样的结论:电子邮件id为多个应用程序提供了oauth令牌,这些应用程序正在无情地点击它以超越限制。现在,只有当我们能够看到它发生的原因,并相应地调整我们的命中率,以将429的可能性降至最低。
此外,如果这是不可能的,那么请建议我们一个良好的命中率/秒,这样429就不会发生。

429错误
用户速率限制超过
,返回
并有重试时间
主要表示您正在命中 这些限制的特点是:

每日消息:2000(试用帐户为500)

自动转发邮件:10000

自动转发邮件筛选器:20

每封邮件的收件人:每封邮件总计2000人 (最多500名外部收件人)

通过SMTP(POP或IMAP用户)或Gmail API发送的每条邮件的收件人:100

每天的收件人总数:3000(2000个外部帐户,500个外部帐户用于试用帐户) 发送到10个不同地址的5封电子邮件视为10个唯一收件人* 发送到单个地址的5封电子邮件视为1个唯一收件人*

这些限制与每分钟/秒的请求速率无关,而是与每日发送限制有关。请注意,如果您有试用用户,您的限制可能远远低于付费用户的限制

当您进入GCP控制台,在
Gmail API->Quotas
上选择相关类型时,您的每日和分钟查询都可以得到验证


如果显示您低于限制,或者您不确定自己达到了哪些限制,您可以选择联系寻求帮助。

如上文所述,message.get、message.list、message.attachment.get、message.modify仅用于Gmail api读取消息并将其标记为已读。我们已经有了一个单独的smtp服务器来发送邮件,所以我们不使用api。请看上文,我也提到了我在上面提到的这些功能的每秒速率限制,我觉得这些功能不接近阅读邮件的配额限制。你提到了每秒速率限制,但每天的通话量如何?你是指我们每天的通话总量?这大约是每天500000个电话。我不认为这一限制超过了,因为如果是这样的话,那么我们应用程序的所有电子邮件都会停止工作。这只影响一个电子邮件id。您是指一个您发送的电子邮件id还是发送到的电子邮件id?请再次检查。电子邮件地址是域内部用户还是外部用户有很大区别。一个电子邮件id,其oauth标记我们有。我们用它来阅读代表该邮件的邮件。外部实体向该电子邮件id发送邮件。