Apps 脚本库安全性

Apps Script Library Security

我想知道应用程序脚本库的安全性。如果用户导入库,他们有什么方法可以检索库中的代码?

我问是因为我正在编写一个将许多 sheet 连接到一个像数据库一样的 sheet 的库。许多 sheet 的用户应该无法找到数据库 sheet。

我已经测试了控制台记录功能,它们只是 return [Function] 而不是实际的功能定义。但是我仍然不知道这是否是一个安全的实现。很想听听你的想法。

要让其他用户使用您的库,您必须通过共享脚本授予他们访问权限。

授权用户可以通过打印函数或者去脚本查看函数代码link

使用打印:

使用脚本 link:

https://script.google.com/d/(Script ID Here)/edit


在您上面的 post 中,您想隐藏所有会引导用户访问数据库 sheet 的数据。

我建议在您的库脚本中创建一个临时函数,它将设置一个包含 Sheet ID 的 属性。这可以通过使用 Properties Service 来完成。使用此服务将允许您将字符串存储为一个脚本范围内的键值对。

示例:

function setProperty(){
  PropertiesService.getScriptProperties().setProperty("Sheet_ID", "123456");
}

用法:

function myFunction() {
  var databaseID = PropertiesService.getScriptProperties().getProperty("Sheet_ID");
  SpreadsheetApp.getActiveSpreadsheet().getSheetId(databaseID)
}

注意: 在部署库脚本之前,运行 setProperty() 函数并在脚本编辑器中将其删除。这将阻止用户查看 setProperty() 函数的源代码。此外,请确保您将授权访问您的库的用户的角色是 Viewer,以防止他们编辑您的脚本并打印 属性 值。

参考: