我已创建Google Apps脚本(GAS),以便在将记录添加到我的电子表格时创建电子邮件草稿。
我使用onEdit
来调用我的方法(大大简化),如下所示:
function onEdit(e){
populateCache("test");
}
function populateCache(label){
Logger.log("before");
var thisLabel = GmailApp.getUserLabelByName(label);
Logger.log("after");
}
这记录"在"之前,但从未到达"在"之后,我没有收到任何错误。如果我通过调试手动调用该方法,它将按预期工作。
为什么这一行会通过onEdit
失败?
var thisLabel = GmailApp.getUserLabelByName(label);
如何让它发挥作用?
答案 0 :(得分:1)
我按照脚本检查了情况。当“onEdit()”未注册为触发器时,权限错误显示为“Logger.log(e)”。通过注册触发器,错误消失。并且'Logger.log(“之后”)'已被执行。
function onEdit(e){
populateCache("test");
}
function populateCache(label){
Logger.log("before");
try{
var thisLabel = GmailApp.getUserLabelByName(label);
}
catch(e){
Logger.log(e)
}
Logger.log("after")
}