谷歌电子表格脚本 - 保护工作表的权限

Posted

技术标签:

【中文标题】谷歌电子表格脚本 - 保护工作表的权限【英文标题】:google spreadsheet script - permissions to protect sheet 【发布时间】:2014-11-06 13:50:59 【问题描述】:

我有以下电子表格:

-模板(受保护)

-当前工作表

-旧表(受保护)

-甚至更旧的工作表(受保护)

此电子表格与少数用户共享,他们在“当前工作表”中具有写入权限。一旦它被认为完成,我在“当前工作表”中创建了一个按钮,我为其分配了一个脚本。以所有者身份运行时,脚本:

    将“当前工作表”重命名为“旧的东西” 保护“旧的”工作表 将“模板”表复制为新的“当前工作表”

所有者运行一切正常,但是当我与之共享文档的用户之一按下触发脚本的按钮时,步骤 (2) 失败,这意味着无法保护工作表。我怀疑这是一个权限问题,但我是谷歌脚本的新手,所以我在这里寻求一些帮助。有没有办法确保无论谁按下按钮,分配的脚本都以所有者身份运行?

谢谢

【问题讨论】:

【参考方案1】:

您不能让用户在键盘上单击的按钮调用作为所有者运行的脚本。请参阅doc about authorization here。也就是说,您可以做的是让按钮设置一个值或更新一个记录,基于时间的触发器上的脚本会检查该记录。像这样的流程会很好地工作:

    用户更新工作表 用户点击I am done!按钮 脚本将一行添加到名为 Things for scripts to do 的隐藏工作表中,这表明工作表应存档 每隔一小时,一个脚本就会检查Things for scripts to do 并按上述方式更新工作表和权限

【讨论】:

以上是关于谷歌电子表格脚本 - 保护工作表的权限的主要内容,如果未能解决你的问题,请参考以下文章

Google脚本将电子表格中的工作表复制到新电子表格并在特定单元格后命名新电子表格

从远程 onedit 可安装触发器访问其他谷歌电子表格

谷歌应用程序脚本在第一次运行时授予用户权限访问电子表格上的服务,而无需打开脚本编辑器

如何保护 Google 电子表格中的 Apps 脚本代码?

Json下载特定表格的链接(谷歌电子表格)

如何在同一电子表格中获取已发布的Google工作表的不同网址