如何避免用户在Google Apps脚本库中看到代码

时间:2014-08-14 11:23:45

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

我遇到麻烦使我的应用程序可运行但我的用户无法查看,我正在寻找描述(/配方)告诉我该怎么做以实现我想要的。

我使用Google Apps脚本编写了一个UiApp并将其放入库(在此称之为XXX) 此UiApp使用高级Google服务驱动器api,驱动器SD和日历 日历本身已由所有用户共享 UiApp内部库XXX应仅供已授予google驱动器视图访问权限的用户使用。

我还写了一个小的启动脚本(称为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的快捷方式,用户可以通过点击它来启动用户界面,而无需为他提供对库的编辑权限。
现在,我尝试在部署网站时使用相同的设置激活新库,并激活相同的高级Google服务,但我无法再次使用它。

所以我的问题是:
1)我应该为XXX和YYY使用哪些设置来使用户看不到(XXX)和ZZZ库(代码),但是仍然可以通过运行脚本YYY来运行其中的UI?

2)应该遵循哪些程序,允许我在不需要用户执行所有类型操作的情况下在线放置新版本的库?

1 个答案:

答案 0 :(得分:3)

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