Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script onedit为什么不能发送电子邮件?_Google Apps Script_Google Sheets_Triggers - Fatal编程技术网

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和网站不是匿名的,简单的触发器无法访问这些服务。 他们只能修改当前电子表格。禁止访问其他电子表格。 有关事件权限的更多信息,请参阅从容器特定触发器执行