我正在运行GmailApp.search以查找未标记的电子邮件,对其进行分类,然后在符合各种规则的情况下对其进行标记。该脚本每10分钟触发一次,但超出了用户速率限制'警告。以下是我正在运行的GmailApp搜索。通常情况下,我的收件箱中只有不到100封未标记的电子邮件,因此如果搜索以任何方式有效,我不会期望这会占用大量资源。
function RunRules()
{
var threads = GmailApp.search("label:inbox has:nouserlabels");
if (threads.length > 0)
{
for (var idxThread=threads.length-1; idxThread>=0; idxThread--)
{
var messages = threads[idxThread].getMessages();
if (messages)
{
for (var idxMsg=messages.length-1; idxMsg>=0; idxMsg--)
{
if (messages[idxMsg].isInInbox())
{
RunRulesOnMessage(messages[idxMsg]);
}
}
}
}
}
}
有关如何避免用户速率限制的任何建议吗?
谢谢, 戴夫
答案 0 :(得分:0)
基于Usage Limits,Gmail API的每用户速率限制为250 quota per second
。
进一步阅读,请注意,您可以使用的每种方法都有相应的配额单位,如上所述,请求所消耗的配额单位数量因所调用的方法而异。
因此,如果客户端要求使用相当于messages.get
配额单位的5
请求获取75条未标记的邮件,则可能会超出每用户速率限制根据要求。
为此,我建议您尝试以下方法:
最后,您可能还想检查Gmail Per-User Limits因任何原因无法增加的内容。
希望以上信息有帮助!