gpt4 book ai didi

javascript - 使用请求 HTTP 客户端库发布到 FastSpring API

转载 作者:行者123 更新时间:2023-12-03 04:36:13 31 4
gpt4 key购买 nike

我正在尝试使用request POST 到 FastSpring 的 API 以更新我的客户的订阅。我能够毫无问题地获取订阅,但是当涉及到 POST 时,我似乎无法让它工作。

这是我的代码:

      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。问题是,没有它,我无法 POST 到 FastSpring 的 API(如果我发送其他任何内容,我会收到错误消息“未找到订阅。”)。

我的问题是这样的:我可以通过请求接受的任何方式发送我的 formData 吗?我在请求的问题页面上查找了这个问题,但找不到满意的答案。

最佳答案

您是否正在尝试传递一些 JSON 数据?通常这种数据写在body中而不是formData中。

尝试这样的事情:

var myreq = request.post(...)
myreq.write(myJsonData);
myreq.end();

关于javascript - 使用请求 HTTP 客户端库发布到 FastSpring API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43287209/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com