Google Zapier 添加行时 Apps 脚本 onEdit 触发器不触发
Google Apps Script onEdit Trigger Not Firing When Zapier Adds A Row
我的 Google 应用程序脚本触发器未正确触发时遇到问题。我的 google Spreadsheet 有两个 sheet。一个保存库存,另一个跟踪订单数量。我与 Zapier 建立了联系,所以当下新订单时,它会在 'Orders' sheet 中添加一个新行。每当下订单并将新行添加到 'Orders' sheet 时,我希望我的主要功能为 运行。目前,如果我进入 sheet 并手动编辑信息,它会触发,但当 Zapier 自动添加一行时它不会触发。
代码如下:
function onEdit(e) {
var activeSheet = e.source.getActiveSheet();
var range = e.range;
if (activeSheet.getName() !== 'Orders') return;
var productOrdered = orderID();
var amountOrdered = orderQuantity();
var productList = productArrayFunction();
var productMatched = findMatchingProductId(productList,productOrdered);
var rowNumber = lookup(productOrdered);
var subtractInventory = subract(rowNumber,amountOrdered);
}
我可能会以错误的方式解决这个问题,但我觉得这应该按预期工作。我不是编码专家,因此非常感谢任何指导。
Zapier 利用 Google 表格 API 来更新您的 google sheet。但是 onEdit 事件需要用户直接与 sheet; 交互。这意味着它不会检测到 API 所做的更新。
我假设您使用 Zapier 作为第 3 方 API/service 和 Google 表格之间的中介。您可以使用 Google Apps 脚本直接连接到 API/service。这将允许您更好地控制数据如何流向您的 sheet 以及您的脚本如何管理 and/or 对任何更改做出反应(您甚至可以取消您的 Zapier 订阅)。
正如 Dimu Designs 所提到的,您不能在 API 交互中使用简单的触发器。
参考:https://developers.google.com/apps-script/guides/triggers/
但是,您可以 运行 您的函数作为 Zapier 中多步函数的下一步。
参考:https://zapier.com/help/code/#how-get-started-code-zapier
所以,明确地说,我不是回答你的问题;我只是建议一个解决方案。
我的 Google 应用程序脚本触发器未正确触发时遇到问题。我的 google Spreadsheet 有两个 sheet。一个保存库存,另一个跟踪订单数量。我与 Zapier 建立了联系,所以当下新订单时,它会在 'Orders' sheet 中添加一个新行。每当下订单并将新行添加到 'Orders' sheet 时,我希望我的主要功能为 运行。目前,如果我进入 sheet 并手动编辑信息,它会触发,但当 Zapier 自动添加一行时它不会触发。
代码如下:
function onEdit(e) {
var activeSheet = e.source.getActiveSheet();
var range = e.range;
if (activeSheet.getName() !== 'Orders') return;
var productOrdered = orderID();
var amountOrdered = orderQuantity();
var productList = productArrayFunction();
var productMatched = findMatchingProductId(productList,productOrdered);
var rowNumber = lookup(productOrdered);
var subtractInventory = subract(rowNumber,amountOrdered);
}
我可能会以错误的方式解决这个问题,但我觉得这应该按预期工作。我不是编码专家,因此非常感谢任何指导。
Zapier 利用 Google 表格 API 来更新您的 google sheet。但是 onEdit 事件需要用户直接与 sheet; 交互。这意味着它不会检测到 API 所做的更新。
我假设您使用 Zapier 作为第 3 方 API/service 和 Google 表格之间的中介。您可以使用 Google Apps 脚本直接连接到 API/service。这将允许您更好地控制数据如何流向您的 sheet 以及您的脚本如何管理 and/or 对任何更改做出反应(您甚至可以取消您的 Zapier 订阅)。
正如 Dimu Designs 所提到的,您不能在 API 交互中使用简单的触发器。 参考:https://developers.google.com/apps-script/guides/triggers/
但是,您可以 运行 您的函数作为 Zapier 中多步函数的下一步。 参考:https://zapier.com/help/code/#how-get-started-code-zapier
所以,明确地说,我不是回答你的问题;我只是建议一个解决方案。