Axios请求快递app缺少参数

时间:2018-02-05 01:26:20

标签: node.js express http-post axios

我试图向FacePlusPlus API发出POST请求。 目前我只是在运行带节点的app.js,但我一直收到错误。

我在快递应用程序中的axios请求:

axios({
  method: "post",
  url: "https://api-us.faceplusplus.com/facepp/v3/face/analyze",
  headers: {
    'Content-Type': "application/json",
  },
  data: {
    'api_key': '<My api key goes here>',
    'api_secret': '<My api secret goes here>',
    'image_url': 'https://images.pexels.com/photos/220453/pexels-photo-220453.jpeg?w=1260&h=750&auto=compress&cs=tinysrgb'
  }
})
  .then(res => console.log(res))
  .catch(err => console.log(err))

响应错误:

{ Error: Request failed with status code 400
    at createError (/Users/Matt/webdev/test/node_modules/axios/lib/core/createError.js:16:15)
    at settle (/Users/Matt/webdev/test/node_modules/axios/lib/core/settle.js:18:12)
    at IncomingMessage.handleStreamEnd (/Users/Matt/webdev/test/node_modules/axios/lib/adapters/http.js:192:11)
    at emitNone (events.js:110:20)
    at IncomingMessage.emit (events.js:207:7)
    at endReadableNT (_stream_readable.js:1047:12)
    at _combinedTickCallback (internal/process/next_tick.js:102:11)
    at process._tickCallback (internal/process/next_tick.js:161:9)
  config:
   { adapter: [Function: httpAdapter],
     transformRequest: { '0': [Function: transformRequest] },
     transformResponse: { '0': [Function: transformResponse] },
     timeout: 0,
     xsrfCookieName: 'XSRF-TOKEN',
     xsrfHeaderName: 'X-XSRF-TOKEN',
     maxContentLength: -1,
     validateStatus: [Function: validateStatus],
     headers:
      { Accept: 'application/json, text/plain, */*',
        'Content-Type': 'application/json',
        'User-Agent': 'axios/0.17.1',
        'Content-Length': 212 },
     method: 'post',
     url: 'https://api-us.faceplusplus.com/facepp/v3/face/analyze',
     data: '{"api_key":"*** i removed this for question ***","api_secret":"*** i removed this for question ***","image_url":"https://images.pexels.com/photos/220453/pexels-photo-220453.jpeg?w=1260&h=750&auto=compress&cs=tinysrgb"}' }

 ...
 ...


  data: { error_message: 'MISSING_ARGUMENTS: api_key' } } }

数据显然已经发送,但是为什么会说缺少参数?

1 个答案:

答案 0 :(得分:0)

尝试通过响应记录api-key的控制台,看看你得到了什么,因为它告诉你它是一个缺失的参数。你的数据是一个字符串而不是一个对象,只是出于好奇吗?