通过Node请求向uClassify API发出请求

Make request to uClassify API via Node request

本文关键字:请求 API Node 通过 uClassify      更新时间:2023-12-03

我正在尝试从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."}"
      }"

文档中没有关于JS的明确说明,我想知道我在request代码中是否正确地在cURL中实现了他们的示例。

url-X POST-H"授权:令牌YOUR_READ_API_KEY_HERE"-H"内容类型:application/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);
  }
});