与工作组共享包含脚本的 Google 电子表格,以便他们可以使用它,但不能修改它

Lar*_*ick 5 google-sheets google-apps-script

我编写了一个谷歌电子表格脚本,它从用户提供的 CSV 文件中读取数据,用数据填充工作表,用不同的名称制作电子表格的副本,并提供一个链接供用户单击以查看新的电子表格。制作新副本后,原始电子表格将清除用户数据并恢复到其原始状态,以便其他用户可以使用它。

我想与工作组(数百个用户)共享此电子表格,但我不希望他们能够修改工作表或脚本。如果我以只读方式共享它,脚本将不会运行,但要让脚本运行,我必须允许用户编辑功能,这是一件坏事。

我愚蠢地在谷歌上搜索自己,试图找到前进的方向,但我仍然在荒野中徘徊。

你们中的任何人都可以指出我正确的方向吗?如果我需要更具体或提供更多信息,我会很乐意这样做。

谢谢,

拉里

PS 其他注意事项:

o 电子表格中的应用程序脚本是否可以激活新副本并“关闭”原始共享电子表格?

o 用户能否成为新副本的所有者?

Ala*_*lls 6

可以选择将您不想修改的代码放入独立应用程序脚本文件中,然后将该代码用作绑定到工作表的脚本中的“库”。您可以将独立应用程序脚本的权限设置为仅查看。这将阻止人们改变它。当您与用户共享 Apps 脚本文件时,他们将收到电子邮件通知。因此,他们将拥有该文件的 URL,并且可以查看该文件,但无法对其进行编辑。(如果您将其设置为仅查看)

因此,您将同时使用电子表格文件和 Apps 脚本文件。两个文件,并将共享设置为仅在 Apps 脚本文件上查看。您仍然可以授予人们对电子表格的编辑权限。

您需要完成一个使该函数可用于您的电子表格的过程。这称为“库”,但创建文件时不要太注意该名称。

  • 创建独立的应用程序脚本
  • 创建您想要共享的功能。
  • 获取项目密钥 --> 文件、项目属性

项目属性

  • 与您想要授予访问权限的用户共享 Apps 脚本文件,但只授予他们对该文件的查看访问权限。不编辑。
  • 将项目密钥提供给用户(在本例中就是您。)并让他们添加库,或者如果您有权访问电子表格,您可以自己添加密钥。因此,就您而言,您不会与任何人共享项目密钥。你不需要。
  • 在绑定到电子表格的脚本文件中,单击“资源”菜单和“库”菜单项。
  • 输入项目密钥

包括库

  • 单击“选择”按钮,然后打开库。
  • 确保将库标识符设置为您要使用的关键字。
  • 转到代码编辑器,创建一个函数,然后键入库标识符。
  • 库中可用的所有功能都会显示

Google 文档 - 获取对库的访问权限

请记住,创建库只不过是在独立的 Apps 脚本文件中的 Apps 脚本中编写代码。如果您已经这样做了,那么您需要共享的只是项目密钥。打开“资源”、“库”时,库的用户将看不到所有可用库的列表。你需要钥匙。