ActiveCampaign axios post请求返回422
Posted
技术标签:
【中文标题】ActiveCampaign axios post请求返回422【英文标题】:ActiveCampaign axios post request returns 422 【发布时间】:2020-08-04 05:48:13 【问题描述】:这是对象和发布请求
let contactObject =
contact:
email: "jsmith@example.com",
firstName: "John",
lastName: "Smith"
;
const options =
method: 'POST',
headers:
'Api-Token': `$token`,
'content-type': 'application/json',
,
data: contactObject,
url,
;
await axios(options);
这是我得到的回应
"status": "error",
"error":
"message": "Request failed with status code 422",
"name": "Error",
"stack": "Error: Request failed with status code 422\n at createError (/Users/robert/chatbots/truchat_helper_functions/node_modules/axios/lib/core/createError.js:16:15)\n at settle (/Users/robert/chatbots/truchat_helper_functions/node_modules/axios/lib/core/settle.js:17:12)\n at IncomingMessage.handleStreamEnd (/Users/robert/chatbots/truchat_helper_functions/node_modules/axios/lib/adapters/http.js:236:11)\n at IncomingMessage.emit (events.js:215:7)\n at endReadableNT (_stream_readable.js:1184:12)\n at processTicksAndRejections (internal/process/task_queues.js:80:21)",
"config":
"url": "https://succes-s-roadacademy.api-us1.com/api/3/contacts",
"method": "post",
"data": "\"contact\":\"email\":\"jsmith@example.com\",\"firstName\":\"John\",\"lastName\":\"Smith\"",
"headers":
"Accept": "application/json, text/plain, */*",
"Content-Type": "application/json",
"Api-Token": "APITOKEN",
"User-Agent": "axios/0.19.2",
"Content-Length": 80
,
"transformRequest": [
null
],
"transformResponse": [
null
],
"timeout": 0,
"xsrfCookieName": "XSRF-TOKEN",
"xsrfHeaderName": "X-XSRF-TOKEN",
"maxContentLength": -1
,
"message": "Request failed with status code 422",
"stack": "Error: Request failed with status code 422\n at createError (/Users/robert/chatbots/truchat_helper_functions/node_modules/axios/lib/core/createError.js:16:15)\n at settle (/Users/robert/chatbots/truchat_helper_functions/node_modules/axios/lib/core/settle.js:17:12)\n at IncomingMessage.handleStreamEnd (/Users/robert/chatbots/truchat_helper_functions/node_modules/axios/lib/adapters/http.js:236:11)\n at IncomingMessage.emit (events.js:215:7)\n at endReadableNT (_stream_readable.js:1184:12)\n at processTicksAndRejections (internal/process/task_queues.js:80:21)"
如果有人知道可能是什么问题,请帮助我尝试了我能想到的一切。并且不知道我如何更改数据对象或标头请求,我总是得到相同的响应。
这是 ActiveCampaign API 的链接
https://developers.activecampaign.com/reference#http-methods
【问题讨论】:
你能围绕 axios 响应做一些调试吗?您提供的内容并未显示响应错误已从 api 返回。axios(options).then(res => console.log(res)).catch(e => console.log(e.res.data))
【参考方案1】:
在与 ActiveCampaign 的支持人员交谈后找到了解决方案,这很棒
const email = req.body.email;
const name = req.body.firstName;
const last = req.body.lastName;
const phone = req.body.phone;
let contactObject =
"contact":
"email": email,
"firstName": name,
"lastName": last,
"phone": phone
;
【讨论】:
以上是关于ActiveCampaign axios post请求返回422的主要内容,如果未能解决你的问题,请参考以下文章
如何为 Event Tracking Activecampaign 跟踪事件