Apps 脚本 - Web 应用程序:可见源代码/库?

Fle*_*hen 1 web-applications google-apps-script

如果我将一个项目发布为公共 Web 应用程序,仅接收和响应几个变量...那么完整的源代码以及可能使用的库对所有用户可见?

Ala*_*lls 5

不。发布应用程序和文件共享是两件不同的事情。您可以将 Apps 脚本应用程序发布为有权访问该 Web 应用程序的“任何人,甚至匿名”,但如果您不与任何人共享该文件,则任何人都无法访问该代码。

如果您与某人共享电子表格文件之类的内容,并且他们制作了电子表格的副本,那么他们就成为电子表格副本的所有者,并且绑定到电子表格的所有代码都与电子表格一起存在。在这种情况下,您的代码将不安全。

但是,如果它是独立的 Apps 脚本,并且您不与任何人共享该文件,您仍然可以向任何人授予访问权限以使用已发布的 URL 运行该应用程序。

许多人创建绑定到电子表格的 Apps 脚本代码,并且可能没有意识到,当他们共享电子表格文件时,无法保护他们的代码。

独立的应用程序不绑定任何东西。这就是区别。当然,HTML 中的任何 JavaScript 代码都是向世界开放的。唯一无法查看的代码是.gs独立应用程序中的服务器端代码。

除非您的函数名称是私有的,否则知道如何操作的人就可以获取所有非私有函数的名称。但仅仅因为他们有函数的名称,并不意味着他们可以获得代码是什么。(据我所知)。但是,有人可以在浏览器中修改 HTML,并且google.script.run如果他们知道函数的名称,则可能会运行较低级别的函数。

如果您向某人提供了项目密钥,以用作他们拥有的文件中的库,那么一旦他们放入新库,他们就会收到一封电子邮件,其中包含指向该库的链接,他们可以查看该链接。所以,问题是,他们是否知道图书馆的网址。如果他们永远不知道图书馆的 URL,他们就无法查看它。(除非他们以某种方式猜到了 URL 是什么,并且很幸运)。但是,对于独立应用程序脚本,该脚本归您所有,不与任何人共享,因此无需提供项目密钥即可添加为库。