将Google Apps脚本支持的电子表格大规模部署到受限用户

时间:2014-07-12 04:08:07

标签: google-apps-script google-sheets google-apps-script-addon

我们有100多名用户,我们逐个为他们创建了一个谷歌电子表格,并要求他们在电子表格中输入原始数据。

目前的工作流程是我们有一个程序将电子表格逐个导出到CSV文件中并导入到我们的后端系统。没关系。

现在,我们已经了解到Google Apps脚本可能是更好的解决方案,例如用户可以通过“附加组件 - >获取附件”来发现电子表格中的附加组件,因此我们可以通过调用我们的API来创建多个功能并完全自动化导入过程,例如验证,干燥,进口等。

问题:

  • 我们会不断更新应用脚本中的功能,因此我们不希望每次都更新所有这些100多页的文档。
  • 我们不希望所有公共用户都可以在附加组件中安装,只有我们的客户(他们有Google身份验证)

  • 如果我们可以保护用户不会查看/修改我们的脚本

  • 会更好

他们有可能吗?

目前我认为最好的方法是创建一个新的库项目并将大部分代码放入其中,然后创建一个使用此库的容器限制应用程序脚本。有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

加载项可满足您保护代码和允许更新的要求,但目前需要published to the Add-on store。围绕此问题的解决方案是在您的附加组件中包含一个功能,这意味着只有列入白名单的用户或工作表才能具有该附加组件的全部功能。白名单可以通过像主电子表格这样简单的东西来维护。鉴于所有add-on's need to be approved by Google他们可能认为限制其使用不利于附加理念而不发布您的附加组件。

修改:当Google批准加载项时,会有可见性选项来限制访问权限。根据{{​​3}}

  

在"可见性选项"部分,选择哪些用户可以   找到你的插件 - 通常是所有用户或只有用户   您的Google Apps域中的帐户。

还为add-on publication step #12: [/ edit]

打开了功能请求

替代解决方案非常依赖于您的用例。例如,如果100多张纸用于数据收集并且不需要额外的Apps脚本功能,则可以使用其文档ID查询纸张并从中提取数据。要做到这一点,即使有基本的视图访问权限,也必须与您共享。

Google Add-on store for Google Apps domains with whitelisting and publish permissions是另一种选择,但考虑到用户需要对库的读访问权,并且必须手动更新库版本,如果进行了更改,则不适合您的情况。

答案 1 :(得分:0)

加载项用户无法看到其代码,一旦发布新版本,它将自动部署到已安装它的所有用户以及启用了加载项的所有文档。

我们可以通过选择" Unlisted"以某种方式限制我们的加载项的可见性。或者"私人"但是如果共享使用加载项的文档,则文档编辑者可以安装该加载项,因此为了强制谁有权访问加载项功能,我们应该将其添加到白名单访问加载项功能。

我们可以对白名单进行硬编码,使用“属性”服务或设置检查外部白名单的方法。