首页 > 解决方案 > 试图在谷歌表格中构建一个用于发送电子邮件的功能

问题描述

我一直在尝试创建一个用于通过 MailApp 发送电子邮件的谷歌表格公式。

/**
*
*
*@customfunction
*/
function SendIssueMails(x) 
{
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("IssueCourses");
  var email = sheet.getRange(x).getValue();
  var subject = "Issue updated that needs resolution";
  var body = "Please go to your issue tracker. You have been assigned an Issue that need resolution";
  MailApp.sendEmail(email, subject, body);
  return "sent";
}

这是我写的代码,当我把这个公式放在 x 作为电子邮件 ID 的表格中时,它说我没有权限。我通过发送手动电子邮件在 appscript 中给予了许可,但它仍然显示需要许可,我不知道在哪里给予许可。

标签: google-apps-scriptgoogle-sheets

解决方案


文档中:

如果您的自定义函数抛出错误消息您没有权限调用 X 服务,则该服务需要用户授权,因此无法在自定义函数中使用。

您不能在自定义函数中使用像 MailApp 这样的服务。您需要以不同的方式触发发送电子邮件。也许一个可安装的触发器配置为在编辑某个单元格时运行?


推荐阅读