如何通过 google 应用程序脚本识别 google 工作表中的 onChange 事件 source/author

How to identify onChange event source/author in the google sheets via google apps script

我需要确定 Google 工作表中的 onChange 事件是由 Google 服务帐户触发的还是由人触发的,因为我只想在以下情况下处理更改的数据触发源为人为直接编辑,否则停止处理

我试图用 Session.getActiverUser() 来识别它,但是,虽然更改是通过服务帐户进行的,但显示的是我自己的电子邮件地址。

我在 Internet 上和 Google 文档中都找不到任何内容。

PS:为了更清楚,我做了从 Firebase 实时数据库到表格的双向同步,反之亦然。因此,为了避免冗余的更新周期,我想在 change/update 代表服务帐户发生时立即停止处理。

或者也许还有其他方法可以避免循环问题。我会很高兴得到任何帮助

所以,基本上这是一种有点 hacky 的方法,但它确实有效。

正如@TheMaster所建议的那样 onChange 事件参数 e 包含 user 节点,在服务帐户为空的情况下,因此可以用来区分更改事件源。