Permissions Google应用程序脚本:从电子表格中获取数据而没有查看权限(不可安装触发器)
问题是我有各种电子表格(a),其中只有一个人有查看和编辑权限,还有其他人需要这些电子表格中的一些数据(a)对于他们的电子表格(b),他们还需要能够从电子表格中获得数据的更新版本(a) 我现在创建了一个解决方案,使用带on edit功能的可安装触发器(他们必须更改电子表格中的特定字段)来更新数据,但是人们希望有一个按钮/图形,他们可以单击该按钮/图形,或者一个菜单项来从电子表格中获取更新的数据(a) 在我看来,将可安装触发器与按钮/绘图/菜单项相结合是一条死胡同。因此,我的问题是,如果有任何其他可能授予访问电子表格数据的权限,而不授予查看或编辑数据来源文档的权限Permissions Google应用程序脚本:从电子表格中获取数据而没有查看权限(不可安装触发器),permissions,google-apps-script,Permissions,Google Apps Script,问题是我有各种电子表格(a),其中只有一个人有查看和编辑权限,还有其他人需要这些电子表格中的一些数据(a)对于他们的电子表格(b),他们还需要能够从电子表格中获得数据的更新版本(a) 我现在创建了一个解决方案,使用带on edit功能的可安装触发器(他们必须更改电子表格中的特定字段)来更新数据,但是人们希望有一个按钮/图形,他们可以单击该按钮/图形,或者一个菜单项来从电子表格中获取更新的数据(a) 在我看来,将可安装触发器与按钮/绘图/菜单项相结合是一条死胡同。因此,我的问题是,如果有任何其他可
如果有人有想法,那就太好了,提前谢谢你你将遇到的电子表格中使用的触发器有一些限制。查看详细信息。本质上,和
onEdit
trigger无法访问/修改另一个电子表格,因为他们无法访问任何需要作为该用户进行身份验证的服务。
为了更新当前电子表格之外的另一个电子表格,我只安装了一个函数和一个菜单项来触发它。(这就是你所说的死胡同吗?)这确实取决于用户更新组,但这对我的安全数据来说是一个好处,因为它需要密钥持有者的知识才能让其他人获得信息。这是A
到B
,这是可能的,但B
必须具有对A
电子表格的编辑权限
不,B
无法从A
获取信息,除非他们至少作为查看者有权访问该信息。您不能将查看权限授予单个单元格,这基本上是您想要做的
如果没有这种能力,解决方案更多的是构建数据流。在一次用户证明他们不能被信任定期更新团队的事件中,我将自己创建为0
。我拥有A
和B
的权限。我从0
运行函数来访问A
和更新B
,这也会向他们发送一封电子邮件,以便所有人都知道上次更新发生的时间。为什么我不使用A
电子表格来运行函数,因为从0
我可以访问它并将其写入B
,而不必查看数据。这是无知的面纱。我从未真正打开过A
,0
仍然是空的
尽我所能 您将遇到的电子表格中使用的触发器有一些限制。查看详细信息。本质上,和
onEdit
trigger无法访问/修改另一个电子表格,因为他们无法访问任何需要作为该用户进行身份验证的服务。
为了更新当前电子表格之外的另一个电子表格,我只安装了一个函数和一个菜单项来触发它。(这就是你所说的死胡同吗?)这确实取决于用户更新组,但这对我的安全数据来说是一个好处,因为它需要密钥持有者的知识才能让其他人获得信息。这是A
到B
,这是可能的,但B
必须具有对A
电子表格的编辑权限
不,B
无法从A
获取信息,除非他们至少作为查看者有权访问该信息。您不能将查看权限授予单个单元格,这基本上是您想要做的
如果没有这种能力,解决方案更多的是构建数据流。在一次用户证明他们不能被信任定期更新团队的事件中,我将自己创建为0
。我拥有A
和B
的权限。我从0
运行函数来访问A
和更新B
,这也会向他们发送一封电子邮件,以便所有人都知道上次更新发生的时间。为什么我不使用A
电子表格来运行函数,因为从0
我可以访问它并将其写入B
,而不必查看数据。这是无知的面纱。我从未真正打开过A
,0
仍然是空的
尽我所能 我也面临着类似的问题 我想我找到了一个解决办法,但不能保证。 我使用了
importrange
函数,我打算通过脚本控制该函数。
我试过flush函数,发现它是一个很好的触发器,可以强制导入
工作,我将其添加到菜单中(以防万一)
现在,我不想让B
用户知道A
SS的唯一地址。
(查看导入功能时)
我正在使用B
SS中的importrange
功能保护和隐藏工作表。我在B
SS中为隐藏的表单使用额外的内部引用 我也面临着类似的问题
我想我找到了一个解决办法,但不能保证。
我使用了importrange
函数,我打算通过脚本控制该函数。
我试过flush函数,发现它是一个很好的触发器,可以强制导入
工作,我将其添加到菜单中(以防万一)
现在,我不想让B
用户知道A
SS的唯一地址。
(查看导入功能时)
我正在使用B
SS中的importrange
功能保护和隐藏工作表。我在B
SS中为隐藏的表单使用额外的内部引用 我可能会
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menuEntries = [];
menuEntries.push({name: "Refresh", functionName: "SheetFlush"});
ss.addMenu("Menu", menuEntries);
}
function SheetFlush() {
SpreadsheetApp.flush();
}