Google apps script onedit为什么不能发送电子邮件?
我有一个简单的脚本,当一个单元格被更改时应该发送一封电子邮件Google apps script onedit为什么不能发送电子邮件?,google-apps-script,google-sheets,triggers,Google Apps Script,Google Sheets,Triggers,我有一个简单的脚本,当一个单元格被更改时应该发送一封电子邮件 function onEdit(e) { var doc = e.source; var r = doc.getActiveRange().getValue(); if (r == "Niccolò"){ var a = doc.getActiveRange().setBackground('#ff0000'); var b = GmailApp.sendEmail('name@gmail.com', 'subjec
function onEdit(e) {
var doc = e.source;
var r = doc.getActiveRange().getValue();
if (r == "Niccolò"){
var a = doc.getActiveRange().setBackground('#ff0000');
var b = GmailApp.sendEmail('name@gmail.com', 'subject', 'body');
}
}
此功能也会改变细胞颜色。
问题是,手机的颜色可以正常工作,所以在不发送任何电子邮件的情况下会发生变化。
它看起来很简单,我不明白为什么不起作用 像
onEdit()
、onOpen(
)或onFormSubmit()
这样的简单触发器有一组有限的可能操作,因为它们在未经授权的情况下运行,有关详细信息,请参阅
所以你描述的这种行为是正常的
您应该使用可安装的触发器,如同一文档页面中所述
以下是文档摘要:
这些简单的触发器响应Google电子表格中的操作,并作为活动用户运行。例如,如果Bob打开电子表格,则无论是谁将脚本添加到电子表格中,onOpen函数都将作为Bob运行。因此,简单触发器在允许的操作方面受到限制:
当以只读模式打开电子表格时,它们无法执行。
它们无法确定当前用户。
他们无法访问任何需要作为该用户进行身份验证的服务。例如,谷歌翻译服务是匿名的,可以通过简单的触发器访问。谷歌日历、Gmail和网站不是匿名的,简单的触发器无法访问这些服务。
他们只能修改当前电子表格。禁止访问其他电子表格。
有关事件权限的更多信息,请参阅从容器特定触发器执行