首页 > 解决方案 > 在将电子表格复制到新文件夹时,为绑定脚本分配权限以访问用户的谷歌服务

问题描述

我已经设置了一个脚本,它基本上从我的谷歌驱动器中的“模板”文件夹中复制内容,并将复制的内容移动到其他地方新创建的文件夹中。“模板”文件夹将始终包含 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...
    }
 }

标签: google-apps-scriptgoogle-sheetsgoogle-drive-api

解决方案


无法以编程方式授予授权,因为这意味着存在安全风险。另一种方法是将您的有界脚本作为附加组件发布,这样您只需对其进行一次授权,您就可以在任何电子表格上使用它们。

请记住,您仍然应该在要使用的每个文档上启用插件,但这通常就像拥有一个运行的 onOpen 菜单一样简单ScriptApp.authMode.NONE

注意:我很确定这个网站上已经有人问过并回答了。

没有答案的类似问题,得分为正


推荐阅读