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

问题描述 投票:1回答:1

Developing a simple script.

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

Finally, it works.

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

But how do I get it to my co-workers?

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

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

javascript google-apps-script google-sheets google-drive-sdk
1个回答
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套房
  • 驱动器和文档
  • 特点和应用
  • 加我们
  • 打开

白名单:

如果附加安装一般受到限制,则可以将特定加载项列入白名单。为了将加载项列入白名单,管理员将需要加载项脚本的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的文件。

© www.soinside.com 2019 - 2024. All rights reserved.