在onEdit()事件中添加触发器

时间:2017-11-20 16:00:31

标签: google-apps-script google-sheets

如果更新特定工作表上的数据,我希望在一夜之间运行一个流程。如果标准匹配,我狡猾地想到为那晚安装触发器。我不想每晚都要触发触发器,并寻找一个“改变”的触发器。属性存储在某处,因为每年都会创建一个新文件,并且隔夜处理的结束有些灵活......所以如果没有更新数据,请不要检查。

我有这个:

function onEdit(e) {
  try {
    var range = e.range;
    var sheet = range.getSheet();
    var sheet_name = sheet.getName();
    Logger.log("Edit on sheet '" + sheet_name +"'");
    if(sheet_name == C_SHEET_FORECAST) {
      installOvernightTrigger();
    }
  } catch(x) {
    Logger.log(x);
  } finally {
    endLog();
  }
}

我在日志中得到的是Exception: You do not have permission to call newTrigger

我很欣赏,如果不小心处理,这可能会爬上去并可能融化谷歌,但是有办法做我想做的事吗?

1 个答案:

答案 0 :(得分:1)

简单触发器(例如命名函数onEdit)cannot do anything that requires authorization,其中包括创建其他触发器。

onEdit重命名为其他内容,并create an installable trigger重新命名。