0
requestをFastSpringのAPIにPOSTして、顧客の購読を更新しようとしています。私は問題なくサブスクリプションを手に入れることができますが、POSTに関しては、それを動作させることができません。リクエストHTTPクライアントライブラリを使用してFastSpring APIに投稿
ここが私のコードです:
var options = {
method: 'POST',
url: 'https://api.fastspring.com/subscriptions',
headers: {
'Authorization': auth,
'User-Agent': 'request',
'Content-Type': 'application/json'
},
formData : {
'subscriptions': [
{
"subscription": subscriptionId,
"quantity": newQty,
"product": product,
"prorate": true
}
]
}
};
request.post(options, function (error, response, body) {
_logger.error('Fastspring API response: ' + JSON.stringify(response));
_logger.error('Fastspring API error: ' + JSON.stringify(error));
_logger.error('Fastspring API body: ' + JSON.stringify(body));
if (!error && response.statusCode === 200) {
res.status(200).send(JSON.parse(body));
} else {
_logger.error('Fastspring API Error: ' + error);
res.status(500).send({ 'error': error});
}
});
次のエラーでPOSTの結果を試みた結果:
TypeError: source.on is not a function
私はそれを見て、その理由いるのを見ましたそれが失敗した理由は、要求が私が送信しているformDataを受け入れることができないということです。問題がなければ、私はFastSpringのAPIにPOSTすることができません(他に何かを送信するとエラーメッセージ "購読が見つかりませんでした"が表示されます)。
私の質問はです:要求によって受け入れられるフォームデータを送信することはできますか?私はリクエストの問題ページでこの問題を見てきましたが、満足のいく答えが見つかりませんでした。
:
はこのような何かを試してみてください!ありがとうございました。将来これを見る人は、JSONデータを文字列にして適切に送信する必要があります(JSON.stringify(myJsonData))。ありがとう、@ mligor! – Juan