Google Sheet onEdit(e)出现权限问题

时间:2019-02-20 06:58:55

标签: google-apps-script google-sheets

  

错误:您无权调用ScriptApp.newTrigger。所需权限:https://www.googleapis.com/auth/script.scriptapp

创建基于时间的触发器时存在权限问题

function onEdit(e){
    var sheetName = e.range.getSheet().getName()
    if(sheetName == "Config")
    {
       if(e.range.getRow()==2 && e.range.getColumn()==1){
         createSpreadsheetOpenTrigger()
       } 
    }
}

function createSpreadsheetOpenTrigger() {
  Logger.log("hello")
  var ss = SpreadsheetApp.getActive();
  ScriptApp.newTrigger('myFunction')
      .forSpreadsheet(ss)
      .onOpen()
      .create();
}

1 个答案:

答案 0 :(得分:0)

对于简单触发器,只需在App Script Web IDE中运行脚本就足够了,并应通过认证弹出窗口提示您Simple Auth Steps

但是,要以编程方式创建新触发器,您需要确保onEdit触发器为Installable!这样可以增加您执行所需操作的权限。

  1. 我们需要打开开发者控制台以设置可安装的触发器。

Installable Trigger Button

  1. 我们需要创建一个与我们的功能相关的新触发器。 对于可安装的触发器,最好不要使用默认的简单触发器onEdit()函数名称。

Dev Hub Trigger Creation

完成!。我们应该能够基于具有更大权限范围的触发器来运行我们的功能。