Google Sheet onEdit(e)有权限问题

问题描述 投票:1回答:1

错误:您无权调用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();
}
google-apps-script google-sheets
1个回答
0
投票

对于简单触发器,只需在App Script Web IDE中运行脚本就足够了,并且应该提示您使用身份验证弹出窗口:Simple Auth Steps

但是,要以编程方式创建新的触发器,您需要确保onEdit触发器是Installable!这为您提供了增加的权限,可以满足您的需求。

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

Installable Trigger Button

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

Dev Hub Trigger Creation

完成!我们应该能够基于具有增加的权限范围的触发器来运行我们的函数。

© www.soinside.com 2019 - 2024. All rights reserved.