我有一个脚本,当电子表格被编辑时发送电子邮件。脚本运行,但MailApp语句不工作。
以下是执行日志:
15-01-27 14:15:17:951 EST SpreadsheetApp.getActiveSpreadsheet() 0秒Spreadsheet.getActiveRange() 0秒Range.getRow() 0秒Range.getLastRow() 0秒Range.getColumn() 0秒Range.getLastColumn() 0秒开始执行15-01-27 14:15:17:969 EST Logger.log[{“范围”:{“rowStart”:79,"rowEnd":79,"columnEnd":6,"columnStart":6},“源”:{},“值”:“Xxxx”,“用户”:{},[])0秒SpreadsheetApp.getActiveSpreadsheet() 0秒Spreadsheet.getSheets() 0.088秒Spreadsheet.getSheets() 0.086秒Logger.log([Customer row = 79,[]]) 0秒Sheet.getRange(79,6) 0秒Sheet.getDataRange() 0.087秒Range.getValues() 0.091秒执行失败:您没有权限调用sendEmail (第21行,文件“代码”) 0.368秒
我在其他脚本上使用了mailApp.sendEmail,它运行得很好。这是附加到电子表格/表单的第二个脚本,第一个脚本还从formSubmit发送电子邮件。我允许所有触发器和权限。
如果有任何帮助,请注意下面的代码:
function onEdit(e) {
Logger.log(JSON.stringify(e));
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheets()[0]
var sheet2 = ss.getSheets()[4];
var column = Number(e.range.columnStart);
if(column != 6){return};
var Customer = Number(e.range.rowStart);
Logger.log('Customer row = '+Customer);
var name = sheet1.getRange(Customer,6);
var emailArray = sheet2.getDataRange().getValues();
for (i=0;i < emailArray.length;i++){
if (name == emailArray[i][0]) {
var email_address = emailArray[i][1];
}
}
var subject = "Job assignment";
var body = "X";
MailApp.sendEmail(email_address,subject,body);
}发布于 2015-01-27 07:50:39
因为在sendMail ()触发器中调用onEdit,所以会收到此错误。不能在URLFetch或MailApp方法中调用onEdit。
https://stackoverflow.com/questions/28163274
复制相似问题