【问题标题】:How to avoid users seeing code in a Google apps script library如何避免用户在 Google Apps 脚本库中看到代码
【发布时间】:2014-08-14 11:23:44
【问题描述】:

我在使我的应用程序可运行但我的用户无法查看时遇到了麻烦,我正在寻找说明(/配方),告诉我要做什么才能实现我想要的。

我使用 Google Apps 脚本编写了一个 UiApp 并将其放入库中(在此处将其称为 XXX)。
此 UiApp 使用 Advanced Google Services drive api、drive sdk 和 calendar。
日历本身已被所有用户共享。
库 XXX 中的 UiApp 应该只能由已被授予查看谷歌驱动器访问权限的用户使用。

我还写了一个小启动脚本(叫 YYY)调用库 XXX。
在 XXX 中,我调用包含 UiApp 代码的库 ZZZ。

YYY 将以用户身份运行,但 ZZZ 应以“我”身份运行。

function doGet()
{ // Perform necessary actions before loading the UI from library ZZZ
   var info = null;
   var retVal = XXX.init(info); / Executing the UiApp inside library XXX

   Logger.log('XXX.init(info)= ' + retVal);
   return retVal;
}

在图书馆 XXX 我有

function init(info)
{ // Starting UiApp inside library XXX after being called from outside the library
   return ZZZ.doGet(info);
}

在 YYY 中,我定义了可以使用库 XXX。

这适用于我的 XXX 库的早期版本。
在 Windows 7 下,我在桌面上创建了 YYY 的快捷方式,用户可以通过单击它来启动 UI,而无需向他提供对库的编辑访问权限。
现在,我尝试在部署网站并激活相同的高级 Google 服务时使用相同的设置激活一个新库,但我无法让它再次工作。

所以我的问题是:
1) 我应该对 XXX 和 YYY 使用什么设置,以使用户看不到库 XXX 和 ZZZ 的(代码),但仍然能够通过运行脚本 YYY 在其中运行 UI?

2) 应该遵循什么程序才能让我将新版本的库上线而不需要用户执行所有类型的操作?

【问题讨论】:

    标签: google-apps-script google-drive-api


    【解决方案1】:

    用户需要对库具有查看权限才能使用它,这意味着您无法阻止他们查看代码。如果您的代码中有私人信息,请将其存储在脚本属性中,因为只有具有查看权限的用户才能看到这些信息。

    【讨论】:

    • 表示用户可以复制和调试代码。因此,他们也可以看到将从 ScriptProperties 中检索到的内容。因此,尽管需要付出一些努力,但私人数据也不安全。这就引出了代码是否可以加密的问题;在运行时加载、解密和运行,以便对代码和数据具有某种安全性。除此之外:提供所有代码并不总是有意或无意的。它还引出了一个问题:“Google 官方对使用 Google Apps 脚本处理安全敏感应用程序的看法是什么”
    • 只读用户无法访问脚本属性,除非您的脚本已经有一个记录值的函数。当它复制一个脚本时,脚本属性不会随之复制。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多