google-apps-script - 当项目被附加并发布时,我想了解 GAS 的 SpreadsheetTriggerBuilder
问题描述
我正在开发 google-sheets 插件。
我想创建创建与单个电子表格关联的触发器的函数。我认为 GAS SpreadSheetTriggerBuilder实现了这个功能,但我不知道项目加载和发布时的行为。
加载项用户添加到每个电子表格的触发器将被共享?
例如,A 和 B 将加载项安装到他们自己的电子表格中。A 用 add-on 添加触发器,然后 B 将能够使用 A 添加到工作表的触发器??
解决方案
使用SpreadSheetTriggerBuilder构建触发器时,将创建一个可安装的触发器
这表示:
- 触发器在创建它的人的授权下运行 - 并将代表安装触发器的人执行绑定功能
- 换句话说 - 如果您的插件安装了
onEdit
触发器 - 此触发器将为所有编辑电子表格的用户触发,但被授权为安装触发器的人 - 但是,当您构建触发器时,它仅适用于您需要定义的特定电子表格,例如
var sheet = SpreadsheetApp.getActive();
ScriptApp.newTrigger("myFunction")
.forSpreadsheet(sheet)
.onEdit()
.create();
- 也就是说,如果用户 A 在打开电子表格 A 时创建触发器 A,而用户 B 在打开电子表格 B 时创建触发器 A - 这些触发器不会推断。触发器 A 仅在编辑电子表格 A 时触发,触发器 B 仅在编辑电子表格 B 时触发。
推荐阅读
- python - VoiceChannel.members 在 discord.py 中返回一个空列表
- android - 如何在 Android 管理 api(工作资料)中启用辅助功能服务?
- php - Laravel:即使已填写,注册也会为用户名提交空值
- python - python中电报机器人中的回调和if条件
- python - 我收到错误 AttributeError: 'NoneType' 对象没有属性 'get'
- windows - Windows 是否有 docker 日志查看器或调试模式?
- google-workflows - 有没有办法暂停工作流程的执行?
- python - python中的参数类
- python - 我如何制作用户资料,以便我输入姓名、邮件等,然后保存,这样我就可以登录了
- python - Matplotlib pyplot 从张量中保存多个图像