google-apps-script - 在将电子表格复制到新文件夹时,为绑定脚本分配权限以访问用户的谷歌服务
问题描述
我已经设置了一个脚本,它基本上从我的谷歌驱动器中的“模板”文件夹中复制内容,并将复制的内容移动到其他地方新创建的文件夹中。“模板”文件夹将始终包含 9 个单独的电子表格,每个电子表格都有自己独特的有界脚本。
我遇到的问题是,每次复制电子表格时,我都必须重新授权 9 个脚本中的每一个的访问权限,然后才能开始使用我创建的功能。
我希望能够为绑定脚本分配或授予权限,以便在我用于将电子表格复制到新位置的过程中访问它所需的服务。
这是我用来复制电子表格的代码示例。无论如何可以访问脚本以在这里分配权限吗?
function copyContents(template_folder, new_folder){
var files = template_folder.getFiles();
while (files.hasNext()) {
var file = files.next();
var file_name = file.getName()
var copied_file = file.makeCopy(file_name,new_folder)
// Assign permissions here...
}
}
解决方案
无法以编程方式授予授权,因为这意味着存在安全风险。另一种方法是将您的有界脚本作为附加组件发布,这样您只需对其进行一次授权,您就可以在任何电子表格上使用它们。
请记住,您仍然应该在要使用的每个文档上启用插件,但这通常就像拥有一个运行的 onOpen 菜单一样简单ScriptApp.authMode.NONE
注意:我很确定这个网站上已经有人问过并回答了。
没有答案的类似问题,得分为正