2017-08-10 6 views
0

SendGridフェッチでNodeJSを使用して - 私はNodeJSでフェッチSendGrid経由に次のリクエストを送信しようとしているときに私はSendGridのWeb APIから400不正な要求を取得しています400不正な要求を

var emailBody = { 
"personalizations":[ 
    { 
     "to":[ 
      { 
      "email":"[email protected]" 
      } 
     ] 
    } 
], 
"from":{ 
    "email": "[email protected]" 
}, 
"subject": "Send Grid", 
"content": [ 
    { 
     "type":"text/plain", 
     "value": "Send Grid msg" 
    } 
] 
}; 

var emailOptions = { 
method: 'POST', 
headers: { 
    'Authorization': 'Bearer ' + [API_Key], 
    'content-type': 'application/json' 
}, 
body: emailBody 
}; 
fetch(sendGridUrl, emailOptions) 

リクエストは、同じペイロードを使用してPostmanで動作します。

+0

何か? 通常、リクエストが正しく構築されていない場合、Bad Requestが送信されます。まったく同じ要求が郵便配達員から渡されるかどうかを再確認することもできます。 [ { "メッセージ": "無効な要求"、 "フィールド":ヌル、 "ヘルプ":ヌル } ] – Chnoch

+0

これは私が "エラー" res.jsonから得るものです – davegeo

答えて

0

node-fetchの例文は、bodyJSON.stringify()を使用する必要があることを示しているようです。

引用:

var body = { a: 1 }; 
fetch('http://httpbin.org/post', { 
    method: 'POST', 
    body: JSON.stringify(body), 
    headers: { 'Content-Type': 'application/json' }, 
}) 
    .then(res => res.json()) 
    .then(json => console.log(json)); 

から:役立つかもしれない、彼らは応答して送信することを他のhttps://github.com/bitinn/node-fetch#usage

+0

うん、それはでした問題。私はこれが自動的に世話をされただろうと思った? mailGunを使用する場合。ストリンジェライズする必要はありません。 – davegeo

関連する問題