Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 当Zapier添加行时,Google应用程序脚本onEdit触发器不触发_Google Apps Script_Google Sheets_Zapier_Triggers - Fatal编程技术网

Google apps script 当Zapier添加行时,Google应用程序脚本onEdit触发器不触发

Google apps script 当Zapier添加行时,Google应用程序脚本onEdit触发器不触发,google-apps-script,google-sheets,zapier,triggers,Google Apps Script,Google Sheets,Zapier,Triggers,我遇到一个问题,我的谷歌应用程序脚本触发器没有正确触发。我的谷歌电子表格有两张表。一个保存库存,另一个跟踪订单数量。我和Zapier有联系,所以当下新订单时,它会在“订单”表中添加新行。我希望我的主功能在下订单时运行,并且在“订单”工作表中添加新行。目前,如果我进入工作表并手动编辑信息,它将触发,但当Zapier自动添加一行时,它不会触发 代码如下: function onEdit(e) { var activeSheet = e.source.getActiveSheet();

我遇到一个问题,我的谷歌应用程序脚本触发器没有正确触发。我的谷歌电子表格有两张表。一个保存库存,另一个跟踪订单数量。我和Zapier有联系,所以当下新订单时,它会在“订单”表中添加新行。我希望我的主功能在下订单时运行,并且在“订单”工作表中添加新行。目前,如果我进入工作表并手动编辑信息,它将触发,但当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 Sheets API更新您的Google sheet。但是,onEdit事件要求用户直接与工作表交互;这意味着它不会检测到API所做的更新


我假设您正在使用Zapier作为第三方API/服务和Google表单之间的中介。您可能可以使用Google Apps脚本直接连接到该API/服务。这将使您能够更好地控制数据如何流向工作表,以及脚本如何管理和/或对任何更改作出反应(您甚至可以取消Zapier订阅)

Zapier利用Google Sheets API更新您的Google工作表。但是,onEdit事件要求用户直接与工作表交互;这意味着它不会检测到API所做的更新


我假设您正在使用Zapier作为第三方API/服务和Google表单之间的中介。您可能可以使用Google Apps脚本直接连接到该API/服务。这将使您能够更好地控制数据如何流向工作表,以及脚本如何管理和/或对任何更改作出反应(您甚至可以取消Zapier订阅)

正如Dimu设计所提到的,您不能在API交互上使用简单的触发器。 参考:

但是,您可以在Zapier的多步骤函数中作为下一步运行函数。 参考:


所以,说清楚点,我不是在回答你的问题;我只是建议一个解决方案。

正如Dimu设计所提到的,您不能在API交互上使用简单的触发器。 参考:

但是,您可以在Zapier的多步骤函数中作为下一步运行函数。 参考:


所以,说清楚点,我不是在回答你的问题;我只是建议一个解决方案。

Zapier不是人类。那么,在Zapier创建新行后有没有办法运行该函数?不是通过
onEdit()
。这个问题应该向Zapier的支持部门提出。根据它的操作方式,它可能能够调用另一个函数。如果没有Zapier附加模块(?)源代码(?),我就说不多了。Zapier的可能副本不是人。那么,在Zapier创建新行后,有没有办法运行该函数?而不是通过
onEdit()
。这个问题应该向Zapier的支持部门提出。根据它的操作方式,它可能能够调用另一个函数。如果没有Zapier附加模块(?)源代码(?),我不能说太多。不管触发了什么,都可能会触发重复的建议onChange。建议无论何时触发一次更改。