在公司网络中分发Google Apps Scripts for Sheets

时间:2014-12-19 13:27:43

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

开发一个简单的脚本。

  • 我公司使用Google云端硬盘存储文件等
  • 我们通过将其加载到电子表格中来浏览我公司的Google产品数据文件,但ImportXML无法满足我们的所有需求。
  • 因此,我创建了一个简单的Google Apps脚本文件来处理数据,并将其吐出到已打开的电子表格中的当前活动点差。
  • 机制由UI菜单/模态组合控制。

最后,它有效。

  • 我一直在将其作为附加到电子表格的脚本进行开发,但现在我想让其他人通过访问Google云端硬盘来使用该功能。

但是如何将它交给我的同事?

  • 当有人加载新的Google表单文档时,如何分发此脚本并使其运行onOpen()?
  • 我只想将脚本存储在公司范围内的Google云端硬盘中,然后让人们“安装”它或者其他内容,然后通过菜单用户界面运行。
  • 理想情况下,这意味着当人们从同一来源加载脚本时,我总是可以调整脚本。

我的唯一解决方案是否真的让人们将代码复制粘贴到他们自己的文档“脚本编辑器”中,并手动运行onOpen()? (根本不可维护+很难教)。

2 个答案:

答案 0 :(得分:2)

如果您的单位使用G Suite帐户,则可以安装附加组件"域名范围"由域管理员。

要了解您的域管理员是谁,请使用以下链接:

https://support.google.com/a/answer/6208960

域范围安装与在其用户帐户中安装加载项的个人之间存在差异。

要在域范围内安装加载项,必须登录域管理员,并将加载项 安装为 域管理员。首先,域管理员必须打开管理控制台。

要登录G Suite管理员主页,请使用以下链接:

https://admin.google.com/AdminHome

管理员必须导航到G Suite Marketplace,找到该插件并进行安装。

在安装附加组件之前,管理员必须从G Suite Marketplace启用Google加载项,或者如果您不想允许所有加载项,则必须将特定加载项列入白名单安装。

允许安装附加组件:

从管理主页导航:

  • 应用
  • G Suite
  • 云端硬盘和文档
  • 功能和应用
  • 添加Ons
  • 开启

白名单:

如果附加安装一般受到限制,则可以将特定加载项列入白名单。为了将加载项列入白名单,管理员将需要加载项脚本的App ID。脚本的App ID必须由脚本的所有者提供。

请注意,此处提供的用于域范围安装的说明假定该加载项已发布到G Suite Marketplace。文档中介绍了为G Suite Marketplace验证并批准的插件。

Apply to Publish

Install Marketplace Apps Control User Installation of Marketplace Apps

附加组件的替代方案是库:

想要使用该库的用户需要进行一些安装。他们需要从电子表格中打开Apps Script代码编辑器,然后输入库密钥。

Documentation - Library

注意:

Apps Script API可用于创建新项目(脚本)文件并覆盖现有项目文件。但问题是,脚本需要绑定到Sheet,并且目前没有以编程方式获取绑定到Sheets的项目的脚本ID的方法。 (如果此更改,您注意到,然后发表评论以更新答案)如果您知道绑定到工作表的项目ID,那么您可以使用Apps Script API覆盖脚本文件,或者您可以以编程方式更新项目文件的appsscript.json文件中的库版本号。这将提供一种将绑定脚本部署到Sheet文件或更新库版本号的方法。您可以手动获取并保存哪些脚本ID绑定到Sheets文件,然后使用Apps Script API覆盖项目文件。用户要么需要创建绑定到Sheet的脚本,然后提供项目文件ID,要么用户可以使用绑定到它的脚本复制模板Sheet文件。

答案 1 :(得分:0)

您还可以将您的应用程序脚本转换为Web应用程序,创建一个简单的onGet()函数并遵循最佳实践并运行您的主要函数来启动脚本。可以将此Web应用程序URL分发给需要运行它的人员,希望对您有所帮助。