Когда я запускаю приведенный ниже код вручную, он работает нормально, но при запуске по триггеру не работает.Я посмотрел на это FULL
в документации Google, и единственный контекст, в котором я вижу это, связан с разрешениями, но я думаю, что это уже имеет полное разрешение.
Полный код ошибки:
TypeError: Cannot find function getMessages in object FULL.
at getCalendarInvites(Calendar:44)
at removePastInvites(Calendar:11)
Соответствующие части моего кода
function removePastInvites(threads) {
var labelName = "Past Events";
var days = 5;
var count = 0;
var archivedEmails = []
var email = "foo@bar.com"
if (threads == null) {
var threads = GmailApp.getInboxThreads(); // did this so that I can either call the method directly or pass
// threads in from a separate method call
}
var calendarInvites = getCalendarInvites(threads); // line 11
...
...
...
function getCalendarInvites(threads) {
var messages, attachments;
var inviteEmails = [];
for (thread in threads) {
messages = threads[thread].getMessages() // line 44
Что я пробовал / обходной путь
Я мог бы сделать что-то вроде этого
function removePastInvitesNoArgs() {
var threads = ...
removePastInvites(threads)
}
function removePastInvites(threads) {
// original code
}
Но я до сих пор не понимаю, почему мой оригинальный скрипт не работает.
Обновление: я получил отзыв (for..in)
на борту, и это имело некоторые побочные эффекты, но не было основной причиной проблемы.