允许用户复制Google电子表格表但保留其父级权限

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

Short

我需要允许我的Google电子表格的用户复制具有受限范围的工作表/标签,并在副本中保留这些限制。这是可能的,因为它们将是复制的工作表/选项卡的“所有者”(尽管不是整个电子表格和脚本)?

Long

我创建了一个包含模板表/选项卡的共享电子表格,其中包含精心保护的范围。其他用户需要复制该工作表/选项卡,但仍然只能对不受保护的范围进行编辑访问。

如果Google电子表格表/标签通常是重复的,则其范围保护不会复制。这里建议解决这个问题:How to duplicate a sheet with protected ranges?

但是,虽然这个脚本对我来说很漂亮(作为所有者),但当其他用户运行它时它会失败。他们可以编辑副本上的受限范围(因为他们创建了它),或者,如果我尝试删除他们在脚本中的编辑权限,那么当他们运行“你没有执行该操作的权限”时,它就会失败”。

我最初的解决方法是在脚本中写入整个电子表格级别的所有权限的临时暂停,以允许脚本运行,复制,删除其范围权限,然后删除其电子表格权限。

问题是这个(并且它的许多变化)不起作用,向用户抛出相同的错误消息(“你没有权限......”)。

另一种方法是让脚本复制工作表,然后应用范围限制。这也失败了,我注意到removeEditor()的Google脚本文档指出“电子表格的所有者和当前用户都不能删除”。

我进一步指出,另一位作者确定的问题基本上和我一样:https://webapps.stackexchange.com/questions/95751/google-sheets-script-to-add-protection-and-remove-the-user-running-it

这是什么打破了它?如果是这样,是否有解决方法?我是否误解了谷歌分享模式的一些(非常基本的)细节?

我也很欣赏编写一个脚本来显式(暂时)暂停写入电子表格的权限是不明智的,但这是(据我所知)唯一的方法来实现用户复制工作表同时保持其范围的最终目标保护。还有其他解决方案吗?

api permissions google-sheets
1个回答
0
投票

这是不可能的,你想象的方式。用户需要安装/应用您的脚本,或者您需要始终跟踪新创建的工作表并手动限制/允许其中的范围。

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