我正在尝试从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 "内容类型:application / json" --data" {\" text \":[\"我很开心 今天\"]}" https://api.uclassify.com/v1/uClassify/Sentiment/classify
答案 0 :(得分:1)
在您的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);
}
});