我正在尝试从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/

10-09 22:10