2017-09-01 6 views
0

私は2つのザップを持っています。私はそれを通過するループで、その後ザフィアコードからウェブフックをトリガーする方法

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; 
}; 

を作成それから私はやっている:まず、私はデータなどの配列を取得して、前のステップからの入力情報を解析しCode by Zapierブロック、で終了

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();}); 
}; 

NB:HTTPは、これらすべての要求に対してFetch APIで呼び出しますcallbackは、非同期結果を処理するZapierの機能です。

このコードが正常に実行されて、私は結果を見ることができます(アドレスが正しい二重チェックする。。)

enter image description here

をしかし、これらの要求は、ウェブフックに登録されていない

を理由かもしれない何このため?リクエストをWebhookを有効にするために私のコードを修正するには?

答えて

1

fetchメソッドで送信されるoptionsにはbodyアイテムがありません。 The documentationはこれをPOSTという例として示しています。{ method: 'POST', body: 'a=1' }のように、正確にそのようにしてみてください。

+0

はい、それが問題でした。私は、情報オブジェクトの取得に 'data'プロパティがあったので、このタイプミスをしたことがあります。 – zmii

関連する問題