gpt4 book ai didi

google-apps-script - onEdit 可以以编程方式创建触发器吗?

转载 作者:行者123 更新时间:2023-12-04 18:20:47 33 4
gpt4 key购买 nike

我写了一个简单的脚本,试图以编程方式从 onEdit 函数创建一个脚本

function onEdit() {
test();
}

function test() {
triggerLater();
}

function customMsgBox() {
Browser.msgBox("hello world");
}

function triggerLater() {
var date = new Date();
date.setMinutes(date.getMinutes() + 1);
try {
var oneTimeOnly = ScriptApp.newTrigger("customMsgBox")
.timeBased()
.at(date)
.create();
return oneTimeOnly.getUniqueId();
}
catch (e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.toast("error");
}
}

如果我尝试从脚本编辑器运行 onEdit,则会创建触发器,但电子表格上的每次编辑都会在 toast 中收到“错误”消息

有人可以帮我理解吗?

最佳答案

onEdit简单的事件处理函数具有有限的权限(即它不能发送电子邮件、打开日历等)。因为它在没有用户权限的情况下运行。因此,它不能设置触发器(没有任何限制,将是一个巨大的安全漏洞)。

如果您希望在您的帐户下创建触发器,请使用可安装的编辑触发器。首先,将您的 onEdit 函数重命名为其他名称(因此它不会作为简单的事件处理程序触发),然后转到“资源”菜单并选择要在电子表格编辑事件上运行的函数。看看docs更多。

关于google-apps-script - onEdit 可以以编程方式创建触发器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10736454/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com