【发布时间】:2021-08-10 04:55:08
【问题描述】:
我正在运行一个 python 脚本,它每 5 分钟通过工作表 API 更新我的谷歌工作表(名为“通知”)。 python 脚本首先清除工作表并将其调整为仅两行,然后在顶部添加新数据,工作表的大小会自动扩展。如果我的新数据比旧数据小,我这样做是为了避免出现空行。
因此,工作表每 5 分钟更新一次,但如果我的数据源中没有发生任何新值,则新值将与旧值相同。特别是,“A2”中的值将与更新前相同。如果发生了新的事情,“A2”中的值将会不同。我想跟踪它并收到一条弹出消息,通知我更新后发生了新的事情。
据我所知,我必须使用 onChange,因为 onEdit 仅在更改由人进行且无法跟踪 api 所做的更改时才有效。不过我不确定该怎么做。
使用 onEdit 我已经实现了它并且如果我手动修改“A2”的内容会弹出一个窗口,但是当 python 更新我的工作表时没有任何反应。
这是带有 onEdit 的代码:
function onEdit(e) {
if (e.range.getA1Notation() === 'A2') {
let oldValue = e.oldValue
let newValue = e.newValue
if (oldValue != newValue) {
Browser.msgBox('The value in A2 changed from ' + oldValue + ' to ' + newValue);
}
}
}
所以最终目标不是每次 python 更新我的工作表时都会弹出一个弹出窗口,但只有在更新后 'A2' 的值发生变化时才会弹出。
我该怎么做?
【问题讨论】:
-
onEdit 触发器仅在用户编辑时发生
标签: google-apps-script google-sheets triggers google-sheets-api