【发布时间】:2014-03-13 04:16:24
【问题描述】:
有没有办法让 Google 电子表格中的某个工作表可供某种类型的用户编辑和访问,而另一种类型的用户无法访问?
我目前有一个 Google App Script 项目,它允许某个用户使用 HTML 表单输入某些参数,并且会自动为他创建一个 Google 电子表格(因此,电子表格中的所有内容都是以编程方式创建的)。 这个新的电子表格应该可以被不同“类型”的用户访问。
用户的“类型”仅表示对电子表格具有特定权限的特定人员。
例如: 有些用户可以编辑电子表格中的任何内容。还有其他用户只能阅读(但不能编辑)。有些用户可以访问自定义菜单(允许他们执行与电子表格相关的特定操作),而其他用户则不能。
目前,我通过两种类型的用户解决了上述问题:
1) 由创建者授予对电子表格的“可以编辑”访问权限的用户。该用户可以编辑电子表格中的任何工作表,并访问每个自定义菜单(因为这些菜单是在“onOpen()”触发器中创建的,该触发器仅在用户具有“可以编辑”权限时执行)
2) 刚刚获得电子表格的“可以查看”公共链接的用户。该用户只能阅读电子表格的每张表格,但不能编辑任何表格。他也无法访问任何自定义菜单。
这工作了一段时间,但现在我有了新的要求,应该允许第一种类型的用户可以访问特定的工作表,而第二种类型的用户甚至不应该拥有对它们的读取权限。
有没有办法使用 Google 应用脚本或 Google 电子表格中的其他功能来实现这一点?
我知道工作表可以设置为可见或不可见,但这不会影响每个用户,即使是我希望能够查看和编辑它们的用户? 如果可能的话,我还想知道是否可以使用 Google App Script 以编程方式完成。
还有没有办法让更多功能仅限于不同类型的用户?如果我希望特定用户能够编辑某个工作表,但不能访问特定的自定义菜单怎么办?
如果不可能这样做,我能想到的唯一解决方案是为这些“受限功能”中的每一个创建单独的电子表格,并将该电子表格中的“可以编辑”访问权限授予我想要的每种类型的用户访问这些功能。 然而,理想情况下,一切都应该在一个电子表格中完成,因为我希望所有信息都包含在一个访问点中,而不是分散在不同的电子表格中,彼此之间(可能)关系不大。
谢谢
【问题讨论】:
标签: google-apps-script google-sheets