gpt4 book ai didi

javascript - Google Apps Script toast 消息不会显示给匿名编辑者

转载 作者:行者123 更新时间:2023-11-30 09:12:34 24 4
gpt4 key购买 nike

我在可安装的 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 消息针对已登录的用户显示,而不是匿名用户。该功能中的“其他事情”对每个人都按预期工作。我正在寻找一种向匿名用户显示该消息的方法(或寻找某种方式向他们传达自动消息)。脚本项目是独立的而不是容器绑定(bind)的,所以我不能使用 Ui 类来通知它们。容器绑定(bind)脚本不是一个选项,因为该脚本的大小很大并且可以在多个文件上运行。

最佳答案

  • 您想在电子表格的单元格被匿名编辑时显示一条消息。
  • 电子表格公开共享给作为编辑的匿名用户。

如果我的理解是正确的,这个答案怎么样?不幸的是,即使使用安装的 OnEdit 事件触发器,当编辑匿名用户时,也无法使用 toast() 和 Class Ui。因此,作为几种解决方法之一,我想建议使用图像。幸运的是,insertImage() 可以用于这种情况。所以我正在使用这个解决方法。请将此视为几个答案之一。

在使用此脚本之前,请准备一张图片以供显示。

示例脚本:

在使用这个脚本之前,请先设置图片的文件ID。并且请为showMessage()函数安装OnEdit事件触发器。

function showMessage(e) {
var fileId = "###"; // Please set the file ID of the image.

var sheet = e.source.getActiveSheet();
var blob = DriveApp.getFileById(fileId).getBlob();
var image = sheet.insertImage(blob, 2, 3);
Utilities.sleep(3000);
image.remove();
}
  • 在此示例脚本中,编辑单元格时,会显示准备好的图像并等待 3 秒,然后删除图像。

结果:

enter image description here

备注:

  • 当然,您可以创建用于显示脚本的图像。但在这种情况下,工艺成本会变高。结果,直到显示图像的时间变长。所以我建议使用预先创建的图像。

引用资料:

如果我误解了您的问题并且这不是您想要的方向,我深表歉意。

关于javascript - Google Apps Script toast 消息不会显示给匿名编辑者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57480181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com