我正在使用zafClient按照这篇文章来执行请求。https:/developer.zendesk.comappsdocscore-apiclient_api#client.requestoptions。
到目前为止,我用GET请求成功,可以获取需要的信息。例如,当我执行POST操作时,我得到了一个讨厌的错误,我无法对抗。
zafClient.request({
url: '/api/v2/macros.json',
httpCompleteResponse: true,
}).then(response => {
console.log(response.responseJSON);
}, error => {
console.log(error.responseText)
})
但是,当我执行POST操作时,我得到了讨厌的错误,我不能打。 这里是post。
zafClient.request({
url: '/api/v2/macros.json',
method: 'POST',
data: {
"macro": {
'title': "Created Macro with API test",
'actions': [{ "field": "subject", "value": "Change subjectline with API" }]
}
}
}).then(res => console.log(res), error => console.log(error.responseText))
这里是post: 这里是error.responseTest
{
"error": {
"title": "Invalid attribute",
"message": "You passed an invalid value for the actions attribute. Invalid parameter: actions must be an array from api/v2/rules/macros/create"
}
}
如果我只记录 "宏 "这个对象,我可以看到 "动作 "这个属性是一个数组,所以 "宏 "这个对象正是我从API中获取的一个对象
欢迎提出任何想法,我到底做错了什么。
现在我知道我应该用JSON.Stringify传递数据:)
zafClient.request({
url: '/api/v2/macros.json',
httpCompleteResponse: true,
contentType: 'application/json',
method: 'POST',
data: JSON.stringify({
macro: {
title: "Created Macro with API test",
actions: [{ "field": "subject", "value": "Change subjectline with API" }]
}
})
}).then(res => console.log(res), error => console.log(error.responseText))
第一次使用HTTP请求的经验