【发布时间】:2019-12-20 03:42:11
【问题描述】:
我在可安装的 onEdit 触发器函数中调用了一条 toast 消息,每当进行编辑时,该函数都会在 Google 表格界面中显示一条消息。对于登录到其 Google 帐户的用户,该消息会按预期显示,但当编辑者匿名时,它不会显示在界面中。
我有一个启用匿名编辑的表格文件(“知道链接的任何人”)。有一个独立的 Google Apps 脚本项目,它安装了一个可安装的 onEdit 触发器。该函数中的所有内容对于匿名用户和登录用户都可以成功执行,但 toast 消息除外,该消息仅对登录用户显示。
可安装的 onEdit 触发器设置为执行 showMessage 函数。
触发器安装方式:
ScriptApp.newTrigger('showMessage').forSpreadsheet('thefileid').onEdit().create();
showMessage 功能:
function showMessage(e) {
var msg = 'Some msg';
var title = 'Some title';
var file = e.source;
var activeSheet = file.getActiveSheet();
file.toast(msg, title);
// do other things
}
toast 消息显示给登录用户,而不是匿名用户。函数中的“其他事物”按每个人的预期工作。我正在寻找一种向匿名用户显示该消息的方法(或寻找某种方式向他们传达自动消息)。脚本项目是独立的,不是容器绑定的,所以我不能使用 Ui 类来通知他们。容器绑定脚本不是一个选项,因为此脚本的大小很大并且可以在多个文件上运行。
【问题讨论】:
-
查看文档中的required scopes——您是否检查过您的匿名用户是否启用了此授权?如果您还没有检查过,可以参考触发器here;您可以尝试的其他方法是禁用此触发器并检查行为是否按预期停止,以避免在您的脚本实际上是由其他东西触发时造成混淆(这对任何人都不起作用) .
标签: javascript google-apps-script google-sheets