2012-11-19 4 views
2

나는이 웹 애플리케이션으로 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를 호출하지 않는 샘플에서 제거 된 코드를 의미한다.

답변

0

첨부 파일을 확인 했습니까? 아니면 다른 작업을 했습니까? 첨부 파일을로드 할 때이 문제를 일으키는 버그가 수정되었습니다.

+0

아니요, 간단히 'GmailApp.getMessageById'를 호출하십시오. – Joscha

+0

일반적으로 초당 10 개가 넘는 요청이이를 트리거하지만 실제로 일어나는 것을보고 솔직히 놀랐습니다. 오류의 원인이되는 더 긴 코드를 게시 할 수 있습니까? –

+0

Gmail App에 대한 모든 통화가 포함 되었습니까? 나는 그 때 짧은 시간 안에 8 가지 일이 일어나는 것을 볼 수있다. – Joscha

관련 문제