如果我将项目发布为公共网络应用程序,只接收和响应几个变量......那么完整的源代码可能是所有用户都可以使用的库?
答案 0 :(得分:3)
没有。发布应用程序和文件共享是两回事。您可以将Apps脚本应用程序发布为可以访问Web应用程序的“任何人,甚至是匿名者”,但如果您不与任何人共享该文件,他们将无法访问该代码。
如果您与某人共享类似电子表格文件的内容,并且他们制作了电子表格的副本,那么他们就会成为电子表格副本的所有者,并且绑定到电子表格的所有代码都会随电子表格一起提供。在这种情况下,您的代码将不安全。
但是,如果它是一个独立的Apps脚本,并且您没有与任何人共享 文件 ,您仍然可以授予任何人访问以运行该应用的权限已发布的网址。
许多人在电子表格中创建了应用脚本代码 绑定 ,并且可能没有意识到当他们共享电子表格文件时,无法保护他们的代码。
独立应用程序不受任何限制。这就是区别。当然,HTML中的任何JavaScript代码都向全世界开放。在独立的应用程序中,唯一无法查看的代码是服务器端.gs
代码。
除非您的函数名称是私有的,否则知道如何获取所有函数的名称的人不是私有的。但仅仅因为它们具有函数的名称,并不意味着它们可以获得代码。 (我知道)。但是,有人可以在浏览器中修改HTML,如果他们有函数的名称,可能会使用google.script.run
运行较低级别的函数。
如果你给某人一个项目密钥,在他们拥有的文件中用作图书馆,他们一旦放入新图书馆,他们就会收到一封电子邮件,上面有他们可以查看的图书馆链接。所以,问题是,他们是否知道库的URL。如果他们永远不知道库的URL,他们就无法查看它。 (除非他们以某种方式猜到了URL是什么,并且很幸运)。但就独立应用程序脚本而言,这是由您拥有,而不是与任何人共享,则无需将项目密钥添加为库。