나는이 웹 애플리케이션으로 Google 애플리케이션 스크립트를 발표 호출하지만 스크립트를 사용하여 때때로 사용자로 실행 :GMailApp rateMax는 - 서비스는 너무 빨리
Service invoked too many times in a short time: gmail rateMax. Try Utilities.sleep(1000) between calls. (line XXX)
예외가 Utitlities.sleep(1000)
그것을 천천히 나에게 말한다 , 그러나 그것을하기 전에 나는 정확하게 최대 비율이 무엇인지 알고 싶습니다. 내가 찾을 수있는 유일한 문서는 할당량 페이지이지만, 다음과 같습니다. GMail Read: 10000/day
내 스크립트는 10000 읽음에서 멀리 떨어져 있습니다. 정확히 누구가 rateMax
을 정확히 알고 있습니까?
업데이트 : 코드는 이것이 원인 (XHR를 통해 호출되는) 다음
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);
}
};
// [...]
가의 Gmail API를 호출하지 않는 샘플에서 제거 된 코드를 의미한다.
아니요, 간단히 'GmailApp.getMessageById'를 호출하십시오. – Joscha
일반적으로 초당 10 개가 넘는 요청이이를 트리거하지만 실제로 일어나는 것을보고 솔직히 놀랐습니다. 오류의 원인이되는 더 긴 코드를 게시 할 수 있습니까? –
Gmail App에 대한 모든 통화가 포함 되었습니까? 나는 그 때 짧은 시간 안에 8 가지 일이 일어나는 것을 볼 수있다. – Joscha