首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google-apps脚本不会在onEdit函数中发送电子邮件。

Google-apps脚本不会在onEdit函数中发送电子邮件。
EN

Stack Overflow用户
提问于 2015-01-27 04:30:01
回答 1查看 5.8K关注 0票数 3

我有一个脚本,当电子表格被编辑时发送电子邮件。脚本运行,但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发送电子邮件。我允许所有触发器和权限。

如果有任何帮助,请注意下面的代码:

代码语言:javascript
复制
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);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-27 07:50:39

因为在sendMail ()触发器中调用onEdit,所以会收到此错误。不能在URLFetch或MailApp方法中调用onEdit。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28163274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档