除了脚本编辑器窗口中“发布”菜单下列出的选项外,以下 3 个选项还可以使代码对开发人员保密。
选项 1:
要创建 3 个文件:
1.1 接收用户输入的电子表格,用作用户界面,并与用户共享。
1.2 一个独立的库脚本文件,用于接收来自 UI 电子表格的输入。
1.3 一个独立的私有脚本文件,用于处理库文件接收到的数据。
选项 1 电子表格
作为此选项的参考,请参阅上述链接中的电子表格。
单击“提交”后,电子表格 ID 将发送到库脚本文件,并授予开发人员编辑权限。然后私有脚本文件打开文件并处理输入。
选项 2:
要创建 5 个文件
2.1 用作登录屏幕的电子表格。这是与用户共享的。
2.2 作为包含数据的实际应用程序的电子表格。一个用户界面。成功登录后,此电子表格可供用户使用。用户从此工作表中注销应用程序。
2.3 维护用户登录状态的电子表格。这是开发人员私有的。
2.4 一个库脚本文件,用于更新上一步创建的电子表格中用户的登录状态,并更改对私有脚本文件的访问权限。此脚本文件作为库资源包含在登录电子表格和用户界面电子表格中。
2.5 处理在用户界面表中输入的数据的库脚本文件。此脚本文件包含开发人员想要保密的代码。此文件仅作为库资源包含在用户界面电子表格中。
选项 2 电子表格
作为此选项的参考,请参阅上述链接中的电子表格。
当用户单击“开始”按钮时,用户在更新电子表格中的单元格值后登录到应用程序 2.3。包含私有代码的库脚本文件在使用 addViewer 方法成功登录后设置为可共享。应用程序的链接被呈现给用户并且用户在“登录”时与应用程序交互。当用户从应用程序注销时,将调用 removeViewer 方法再次将脚本文件设为私有。
在此选项中,用户在使用应用程序时可以访问私有代码文件。该文件可以通过使用计时器、脚本触发器、提示、警报等来保密。
在我的两个电子表格中,我使用设置为每分钟运行一次的基于时间的触发器来处理应用程序。这可能会导致输出延迟。触发器是在服务器端而不是在客户端创建的。
选项 3:私有共享文件夹
2 文件将被创建:
3.1 接收用户输入的电子表格,用作用户界面,并与用户共享。
3.2 用于处理电子表格的独立私有脚本文件。
请参阅此链接了解如何创建私人共享文件夹。在此选项中,用户看不到任何脚本。即使是共享电子表格也可能不包含代码。