编程语言
首页 > 编程语言> > javascript-在公司网络中分发表格的Google Apps脚本

javascript-在公司网络中分发表格的Google Apps脚本

作者:互联网

开发一个简单的脚本.

>我的公司使用Google云端硬盘存储其文档等.
>我们通过将Google产品数据文件加载到电子表格中来对其进行遍历,但是ImportXML不能满足我们的所有需求.
>因此,我制作了一个简单的Google Apps脚本文件来处理数据,然后将其吐出到打开的电子表格中当前有效的价差中.
>机制由UI菜单/模式组合控制.

最后,它可以工作.

>我一直在开发它作为附加到电子表格的脚本,但是现在我想让其他有权访问Google云端硬盘的人使用它.

但是如何将其提供给我的同事?

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

我唯一的解决方案是否真的能使人们将代码复制粘贴到他们自己文档的脚本编辑器中,然后手动运行onOpen()? (根本无法维护,很难教).

解决方法:

如果您的组织使用的是G Suite帐户,则域管理员可以在“域范围内”安装加载项.

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

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

域范围安装与个人在其用户帐户中安装加载项之间存在区别.

要在全域范围内安装加载项,必须先登录域管理员,然后以域管理员身份安装加载项.首先,域管理员必须打开管理控制台.

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

https://admin.google.com/AdminHome

管理员必须导航到G Suite市场,找到该附件并安装.

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

允许安装附件:

从管理主页导航:

>应用
> G Suite
>云端硬盘和文档
>功能和应用
>附加组件
>开启

白名单:

如果一般限制了附件安装,则可以将特定的附件列入白名单.为了将附加组件列入白名单,管理员将需要附加脚本的App ID.脚本的应用程序ID必须由脚本的所有者提供.

请注意,此处提供的用于域范围安装的说明假定该插件已发布到G Suite市场.说明文件中说明了如何为G Suite Marketplace验证和批准附加组件.

Apply to Publish

Install Marketplace Apps
Control User Installation of Marketplace Apps

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

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

Documentation – Library

注意:

Apps Script API可用于创建新的项目(脚本)文件并覆盖现有的项目文件.但是问题是,脚本将需要绑定到工作表,并且当前没有办法以编程方式获取绑定到工作表的项目的脚本ID. (如果这种情况有所变化,并且您注意到了,请发表评论以更新答案).如果您知道绑定到图纸的项目ID,则可以使用Apps Script API覆盖脚本文件,也可以以编程方式更新项目文件的appsscript.json文件中的库版本号.这将提供一种将绑定脚本部署到Sheet的文件或更新库版本号的方法.您可以手动获取并保存将哪些脚本ID绑定到哪些Shee​​ts文件,然后使用Apps Script API覆盖项目文件.用户要么需要创建一个绑定到Sheet的脚本,然后提供项目文件ID,要么用户可以复制一个模板Sheet的文件并绑定一个脚本.

标签:javascript,google-sheets,google-apps-script,google-drive-api
来源: https://codeday.me/bug/20191012/1901835.html