2013-07-15 2 views
0

Я пытаюсь отправить уведомление с помощью MailApp.sendEmail при редактировании таблицы Google (даже при добавлении новой строки или редактирования существующих данных)MailApp.sendEmail не работает должным образом

Вот код, который я написал:

function onEdit(e) {  
    var emailId = SpreadsheetApp.getActiveSheet().getRange(e.range.getLastRow(), 2, 1, 1).getValues(); 
    var desc = SpreadsheetApp.getActiveSheet().getRange(e.range.getLastRow(), 5, 1, 1).getValues(); 
    var guid = SpreadsheetApp.getActiveSheet().getRange(e.range.getLastRow(), 6, 1, 1).getValues(); 
    MailApp.sendEmail(emailId, guid, guid); 
    // Browser.msgBox(emailId + guid); 
} 

Этот код извлекает отредактированный данные, которые можно увидеть с помощью Browser.msgBox(emailId + guid); (но только если их поместить перед MailApp.sendEmail и нет, если поместить после функции MailApp.sendEmail). Когда я использую функцию MailApp.sendEmail с некоторой другой функцией, она выполняется хорошо и отправляет почту тоже. Но не в этой функции.

Любая помощь или указатели для решения этой проблемы?

ответ

0

Специальная функция триггера onEdit() называется простым триггером. Проверьте документацию here.

(Простые триггеры) не может получить доступ к службам, требующим аутентификации в качестве этого пользователя. Например, служба Google Translate анонимна и может быть доступна с помощью простых триггеров. Календар Google, Gmail и Сайты не являются анонимными, и простые триггеры не могут получить доступ к этим службам.

Смежные вопросы