库是一个脚本项目,其函数可在其他脚本中重复使用。
获取图书馆的访问权限
要在项目中添加库,您必须至少设置视图级库 访问。如果您不是相应库的作者 包含,联系作者并申请访问权限。
您需要要包含的库的脚本 ID。如果您 那么您可以在项目设置页面上找到脚本 ID
页。向脚本项目添加库
- 在 Apps 脚本编辑器左侧的“库”旁边,点击“添加” 库 。
- 在“脚本 ID”列字段中,粘贴库的脚本 ID。
- 点击查找。
- 点击版本下拉菜单,然后选择库的版本 使用。
- 检查默认的“标识符”这个名称就是您要
与此库一起使用这是您的脚本用来
参考库例如,如果您将此属性设置为
Test
,则可以 按如下方式调用该库的方法:Test.libraryMethod()
。 - 点击添加。
使用库
像使用默认服务一样使用包含的库。对于
例如,如果 Test
是您媒体库的标识符,请输入
Test
,后跟英文句点,用于查看库中的方法列表。
您可以通过以下方式打开所含库的参考文档 具体步骤:
在脚本编辑器左侧,点击库名称旁边的“更多”图标
>在新标签页中打开。移除库
在脚本编辑器左侧,点击库名称旁边的“更多”图标
>移除 >移除库。更新库
您可以更改库的版本或更新其标识符。
- 在编辑器左侧的“库”下,请点击相应库的名称
- 进行更改,然后点击保存。
创建和共享媒体库
如需将脚本项目作为库使用和共享,请按以下步骤操作。
- 创建版本控制的部署 您的脚本。
- 至少与库的所有潜在用户共享数据视图级别的访问权限。
- 为这些用户提供脚本 ID,您可以在项目 设置 页面。
最佳做法
下面是编写库时需要遵循的一些准则:
- 请为您的项目选择一个有意义的名称,因为它将用作 默认标识符。
- 如果您不希望脚本中的一个或多个方法可见(
便于使用),您可以在该方法的名称末尾添加
下划线。例如
myPrivateMethod_()
。 - 库用户只能看到可枚举的全局属性。其中包括
声明、在具有
var
的函数外部创建的变量以及明确设置的属性 全局对象。例如,enumerable
设置为false
的Object.defineProperty()
创建的符号可供您在库中使用,但您的用户无法访问此符号。 如果您希望库用户使用脚本编辑器的自动补全功能, 自动生成的文档,必须具有 JSDoc 样式 所有函数的文档。示例如下:
/** * Raises a number to the given power, and returns the result. * * @param {number} base the number we're raising to a power * @param {number} exp the exponent we're raising the base to * @return {number} the result of the exponential calculation */ function power(base, exp) { ... }
确定资源范围
使用库时,有两种类型的资源: 和未共享。共享资源意味着库和包含的 脚本对同一资源实例拥有内置访问权限。通过 下图展示了一个共享资源,该示例使用 用户属性:
非共享资源意味着库和包含的脚本 资源实例的内置访问权限。不过,库可以 提供对非共享资源的访问 对它们执行操作下面是一个函数示例, 来公开其脚本属性:
function getLibraryProperty(key) {
return ScriptProperties.getProperty(key);
}
下图使用 脚本属性:
下表列出了共享资源和非共享资源,供您参考:
资源 | 已分享* | 未分享** | 备注 |
---|---|---|---|
锁定 | 在 库。 | ||
脚本属性 | 在 库。 | ||
缓存 | 在 库。 | ||
触发器 | 包含以下内容不会触发在库中创建的简单触发器: 脚本。 | ||
ScriptApp | |||
UiApp |
|
||
用户属性 | |||
记录器和执行记录 | |||
协作平台、表格和其他容器 | 调用 getActive() 会返回
包括脚本 |
||
MailApp 和 GmailApp | |||
* 这意味着库没有自己的
功能/资源,而是使用由脚本创建的资源
调用该方法。
** 这意味着库有自己的资源/功能实例, 并且使用该库的所有脚本共享并访问该库 实例。 |
测试库
如需测试您的库,请使用 head 部署。拥有编辑者级别的任何人 对脚本的访问权限可以使用 head 部署。
调试库
当您在包含您所需的库的项目中使用该调试程序时, 可以单步进入所包含库的函数。验证码的显示位置 正确的版本。