如何从zapier代码触发webhook
问题描述:
我有2个zaps。首先完成与Code by Zapier
块,在这里我分析从前面的步骤获得阵列数据,例如输入信息:如何从zapier代码触发webhook
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;
};
然后我做HTTP与Fetch API
呼吁所有这些请求:
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();});
};
NBcallback
是Zapier处理异步结果的函数。
此代码运行成功,我可以看到的结果:
但这些请求都没有在网络挂接注册(地址是正确的双重检查。)
可能是什么原因为了这?如何解决我的代码,使请求激活webhook?
答
这可能是因为您的options
中没有body
项,与fetch
方法一起发送。 The documentation将此显示为POST
示例:{ method: 'POST', body: 'a=1' }
,因此可能尝试使其完全如此。
是的,这是问题所在。我曾经在某处看到提取信息对象具有'data'属性,因此造成了这个错字。 – zmii