Google apps script GMailApp rateMax-服务调用过快

Google apps script GMailApp rateMax-服务调用过快,google-apps-script,Google Apps Script,我将Google Apps脚本发布为WebApp,但有时使用该脚本的用户会遇到: 服务在短时间内调用的次数太多:gmail rateMax。尝试实用程序。通话间隔睡眠(1000)。(第XXX行) 异常告诉我使用Utitlities.sleep(1000)来减慢速度,但是在这样做之前,我想知道最大速率到底是多少。我能找到的关于这一点的唯一文档是配额页面,但上面写着: GMail阅读量:10000/天 我的剧本还远远没有读到一万遍。 有人知道rateMax的确切含义吗 更新:导致此问题的代码如下(通

我将Google Apps脚本发布为WebApp,但有时使用该脚本的用户会遇到:

服务在短时间内调用的次数太多:gmail rateMax。尝试实用程序。通话间隔睡眠(1000)。(第XXX行)

异常告诉我使用
Utitlities.sleep(1000)
来减慢速度,但是在这样做之前,我想知道最大速率到底是多少。我能找到的关于这一点的唯一文档是配额页面,但上面写着:
GMail阅读量:10000/天
我的剧本还远远没有读到一万遍。 有人知道rateMax的确切含义吗

更新:导致此问题的代码如下(通过XHR调用):


/[…]
表示从示例中删除的代码,该代码不调用GMail API

您是在检查附件,还是在做其他事情?加载附件时触发此问题的bug现在应该修复。

不,只需简单调用
GmailApp.getMessageById
。好的,通常每秒超过10个请求就会触发此问题,但坦率地说,我很惊讶看到它的发生。你能不能发布一段较长的导致错误的代码片段?我把它添加到了问题中——所有对GmailApp的调用都计算在内了吗?我能在短时间内看到8次。不,只统计了一些电话。我将仔细查看您的代码片段,看看是否能找到问题所在。
add = function(form) {
// [...]

messageId = (_ref = form.msgId) != null ? _ref : form.messageId;
if (!messageId || !(message = GmailApp.getMessageById(messageId))) {
  throw ErrorCodes.INVALID_MESSAGE_ID;
}

// [...]

thread = GmailApp.getThreadById(message.getThread().getId());
if (String(form.archive) === "true") {
  thread.moveToArchive();
}

// [...]

addLabel(LABEL_BASE, thread);
addLabel(LABEL_OUTBOX, thread);
};

getLabel = function(name, create) {
var _ref;
return (_ref = GmailApp.getUserLabelByName(name)) != null ? _ref : (create ? GmailApp.createLabel(name) : void 0);
};

addLabel = function(name, thread) {
var _ref;
if ((_ref = this.getLabel(name, true)) != null) {
  _ref.addToThread(thread);
}
};