如何从 zapier 代码触发 webhook
Posted
技术标签:
【中文标题】如何从 zapier 代码触发 webhook【英文标题】:how to trigger webhook from zapier code 【发布时间】:2018-02-10 15:48:59 【问题描述】:我有 2 个 zaps。首先以Code by Zapier
块结束,我在其中解析来自先前步骤的输入信息,获取包含数据的数组,例如:
var elements = [id: 12, calculatedValue: 13,id: 13, calculatedValue: 'red']
然后循环遍历它,创建请求体
var options =
"url": "https://hooks.zapier.com/hooks/catch/xxxxxx/xxxxxx/",
"method": "POST"
,
requests = elements.map(mapDataToSettings);
function mapDataToSettings(elem)
var settings = Object.assign(, options);
settings.data = JSON.stringify(elem);
return settings;
;
然后我对所有这些请求使用Fetch API
进行 HTTP 调用:
Promise.all(requests.map(grabContent))
.then(function(data) callback(null, requestsMade: data););
function grabContent(options)
return fetch(options.url, options)
.then(function(res) return res.json(););
;
注意 callback
是 Zapier 处理异步结果的函数。
这段代码运行成功,我可以看到结果:
但是这些请求没有在 webhook 中注册(地址是正确的。仔细检查。)
这可能是什么原因?如何修复我的代码以使请求激活 webhook?
【问题讨论】:
【参考方案1】:您的options
中可能没有使用fetch
方法发送的body
项目。 The documentation 将其显示为 POST
示例: method: 'POST', body: 'a=1'
,所以不妨尝试让它完全一样。
【讨论】:
是的,这就是问题所在。我在某处看到获取信息对象具有data
属性,因此造成了这个错字。以上是关于如何从 zapier 代码触发 webhook的主要内容,如果未能解决你的问题,请参考以下文章
如何从“Zapier 代码”(Javascript)读取文件输入
使用 Zapier Webhook 触发 Twilio 工作室流程