如何避免或自动为不同的Google电子表格副本授予相同脚本的权限

时间:2018-03-17 09:17:33

标签: google-apps-script google-sheets automation

我使用脚本每天从模板生成大约20个文件。该模板在谷歌脚本中有一些功能。对于所有这些文件,我运行其中一个函数(下面的pZero函数)来创建一个onEdit触发器,只要有人编辑该文件,它就会调用onMyEdit()函数。我是在Chrome浏览器的Mac或Windows上进行的。我们的想法是允许该文件的其他编辑者在Google表格应用程序Android版中编辑电子表格时使用onEdit事件的功能。 一切正常,但问题是,对于每个文件,我需要手动运行该功能,系统要求对该脚本进行授权。这非常耗时且烦人(我只计算了授予访问权限所需的7次鼠标点击)。 有没有办法自动化这个过程或以某种方式禁用授权警告或以某种方式将函数添加到依赖函数。我甚至尝试https://myaccount.google.com/lesssecureapps来关闭授权请求,但这没有帮助。

编辑:This post是相关的,但问题是定期更改单个文件中的代码,该解决方案对我没有帮助。我的代码没有改变,我只是制作了许多已经包含相同脚本的工作表副本。

function onOpen(){  
  // Adding my function in custome menu
  var menuEntries1 = [ {name: "p0 functionality", functionName: "pZero"}];
  SpreadsheetApp.getActiveSpreadsheet().addMenu("Authorize",menuEntries1);
}

function pZero(){
  // Adding trigger, which calls my custom onMyEdit() function on onEdit() event
  if(ScriptApp.getProjectTriggers().length==0)
    var trigger = ScriptApp.newTrigger("onMyEdit").forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet()).onEdit().create();
}

function onMyEdit(){
// Some code to copy from the current file to another file not owned by the user of this file.
...
}

0 个答案:

没有答案
相关问题