2013-07-15 31 views
0

我试图发送关于编辑谷歌电子表格(甚至增加新行或修改现有的数据)MailApp.sendEmail工作不正常

这里使用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翻译服务是匿名的,可以通过简单的触发器访问。 Google日历,Gmail和网站不是匿名的,简单的触发器无法访问这些服务。