【发布时间】:2018-10-04 21:51:10
【问题描述】:
我遇到了一些 Google Script 的问题。基本上,我的目标是让脚本检查客户的案例是否已解决,然后向他们发送一封电子邮件,告知问题已解决。我已经完成了关于何时发送电子邮件的逻辑,但每次我尝试将其实现到电子表格中时,都会出现错误:
Error
You do not have permission to call MailApp.sendEmail. Required permissions: https://www.googleapis.com/auth/script.send_mail (line 8).
我有一个简单的函数来测试它的功能,当它在脚本编辑器中运行时,它工作正常,但在电子表格上却不行。这是我的示例函数:
function myFunction(row) {
var sheet = SpreadsheetApp.getActiveSheet();
var rng = sheet.getRange(row, 1, 1, 2);
var ara = rng.getValues();
var email = ara[0][0];
MailApp.sendEmail(email, "TEST", "This is a test of sendEmail().");
return "Email sent.";}
【问题讨论】:
-
“将其实现到电子表格中”是什么意思,将其用作电子表格单元格中的函数?阅读“Apps 脚本自定义函数”以了解原因。错误是正确的。还要考虑如果该函数实际上可以作为自定义函数调用,这意味着什么——将发送多少封电子邮件?他们什么时候会收到? (PS:通过使用
console或Logger在函数内部查看函数的参数实际上是什么,并将其与您的预期进行比较) -
是的,所以我将如何称呼它基本上会在一个单元格上执行:=myFunction(ROW())。然后在我的完整代码中,它会进行某些检查,以便每次刷新页面时它都不会发送电子邮件。
-
查看定时触发器或添加菜单。自定义函数无权发送邮件。
标签: javascript google-apps-script google-sheets