如何解决将 Paypal cURL 命令转换为 Axios 请求
遵循 Paypal cURL 命令可以正常工作,但不幸的是我无法转换为 axios 代码以使其正常工作。 Paypal Documentation 没有表单数据示例,但如果您需要可选的 message_document 文件,它允许这样做。
curl --request POST \
--url https://api-m.sandBox.paypal.com/v1/customer/disputes/12345/send-message` \
--header 'authorization: Bearer --token--' \
--header 'content-type: multipart/form-data' \
-F "input={\"message\":\"sample message\"};type=application/json" \
-F "message_document=@sample.pdf"
即使没有发送文件,我也尝试了 Node.js 代码,但没有成功:
const FormData = require('form-data');
const form = new FormData();
form.append('input',JSON.stringify({ message: 'sample message' }),{ contentType: 'application/json' });
const result = await axios({
url: 'https://api-m.sandBox.paypal.com/v1/customer/disputes/12345/send-message',method: 'post',data: form,headers: {
'Content-Type': 'multipart/form-data',Authorization: 'Bearer --token--'
}
}).catch(err => {
throw new Error(err);
});
我看不出问题出在哪里。请赐教。提前致谢。
解决方法
我没想到,但它解决了缺少边界信息。可以使用这些:
const result = await axios({
url: 'https://api-m.sandbox.paypal.com/v1/customer/disputes/12345/send-message',method: 'post',data: form,headers: {
'Content-Type': `multipart/form-data; boundary=${form._boundary}`,Authorization: 'Bearer --token--'
}
})
或
const result = await axios({
url: 'https://api-m.sandbox.paypal.com/v1/customer/disputes/12345/send-message',headers: {
Authorization: 'Bearer --token--',...form.getHeaders()
}
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。