我正在尝试从Node建立对uClassify API的请求。我无法弄清楚我编写的代码出了什么问题:
const req = JSON.stringify('Hello, my love!');
const options = {
body: req,
method: 'POST',
url: 'https://api.uclassify.com/v1/uClassify/Sentiment/classify',
headers: {
'Content-Type': 'application/json',
Authorization: 'MyKey'
}
};
request(options, (error, response, body) => {
if (!error) {
callback(response);
}
});
我得到以下回应:
statusCode: 400,
body: "{"statusCode":400,
"message": "Error converting value \"Hello, my love!\" to
type 'UClassify.RestClient.TextPayload'. Path '', line 1, position 17."}"
}"
the documentation中没有针对JS的明确说明,我想知道我是否在
request
代码中的cURL中正确实现了它们的示例。url -X POST -H“授权:令牌YOUR_READ_API_KEY_HERE” -H
“ Content-Type:应用程序/ json” --data“ {\” texts \“:[\”我很高兴
今天\“]}” https://api.uclassify.com/v1/uClassify/Sentiment/classify
最佳答案
在您的Node.js代码中,您的正文不正确(但是在cURL中,您使用了正确的正文)。 uClassify期望对象具有属性texts
。
更改node.js代码中的主体,以便:
const req = JSON.stringify({ texts: ['Hello, my love!'] });
const options = {
body: req,
method: 'POST',
url: 'https://api.uclassify.com/v1/uClassify/Sentiment/classify',
headers: {
'Content-Type': 'application/json',
Authorization: 'MyKey'
}
};
request(options, (error, response, body) => {
if (!error) {
callback(response);
}
});
关于javascript - 通过Node请求向uClassify API发出请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36385202/