谷歌表格:可安装的触发器似乎禁用了简单的触发器脚本



我有一个谷歌表格,其中包含一个函数,如果左边的列更新,它会在列中输入时间戳。 它由简单的 onedit 触发器触发,并且仅处理工作表中的一小部分单元格。 几个月来,它对许多人都很好。

然后,我添加了一个脚本,用于在同一文档的单独选项卡上进行一些数据清理。 我使用可安装的触发器,以便我可以安排清理每周运行一次。

遗憾的是,虽然计划的可安装触发器清理例程现在有效,但原始的 onedit 简单触发器时间戳例程不起作用。 更准确地说,时间戳例程适用于脚本的作者我,但不适用于其他任何人。

知道如何解决这个问题吗?

谢谢!

时间戳例程适用于脚本的作者我,但不适用于其他任何人。

问题可以在堆栈驱动程序日志中找到。转到脚本编辑器>查看>执行>清除所有筛选器。检查失败的日志。最可能的原因是您限制了这些人的访问。如果不允许"键盘用户"手动执行某些操作,则他也无法通过脚本执行此操作。另一个可能的原因是匿名编辑无法显示弹出窗口/对话框;如果将此类代码添加到函数中,则函数将失败。

可能的解决方案:

  • 提供必要的许可或

  • 创建一个可安装的 onEdit 触发器,以便该函数将在您的权限下运行。在这种情况下,如果编辑者能够访问您的编辑器,他们可能能够以您的身份执行脚本。保护具有未受保护范围的所有工作表可能会有所帮助,但不能提供完全的安全性。缩小授权访问范围也可能有所帮助

  • 执行此操作的另一种方法是创建服务帐户并使用 oauth 库访问工作表。在这里和这里采样。

相关内容

最新更新