微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 Paypal cURL 命令转换为 Axios 请求

如何解决将 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 举报,一经查实,本站将立刻删除。