2017-09-01 88 views
0

我有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處理異步結果的函數。

此代碼運行成功,我可以看到的結果:

enter image description here

但這些請求都沒有在網絡掛接註冊(地址是正確的雙重檢查。)

可能是什麼原因爲了這?如何解決我的代碼,使請求激活webhook?

回答

1

這可能是因爲您的options中沒有body項,與fetch方法一起發送。 The documentation將此顯示爲POST示例:{ method: 'POST', body: 'a=1' },因此可能嘗試使其完全如此。

+0

是的,這是問題所在。我曾經在某處看到提取信息對象具有'data'屬性,因此造成了這個錯字。 – zmii