即使 curl 请求有效,Axios 和邮递员请求也不起作用

时间:2021-07-29 17:31:30

标签: http curl axios request postman

以下 curl 请求工作正常:

curl --form "fileupload=@company1.csv;type=text/csv" -H 'Authorization: Bearer <access token>' https://api.linkedin.com/media/upload?media_type=ad_segments

当我从 axios 发出相同的请求时,我收到此错误:

{
  serviceErrorCode: 0,
  message: 'Content-Type header is null',
  status: 400
}

邮递员电话也收到同样的错误。我正在粘贴发出 axios 请求的 NodeJS 代码:

const axios = require('axios');
const FormData = require('form-data');

const form = new FormData();

const networkCall = async function() {
    form.append('fileupload', '@users_2.csv;type=text/csv');

    const opt = {
        headers: {
            ...form.getHeaders(),
            'Authorization': 'Bearer <access token>'
        }
    };

    setTimeout(async function() {
        const resp = await axios.post('https://api.linkedin.com/media/upload?media_type=ad_segments', form, opt);
    }, 2000);
}

networkCall();

打印 form.getHeader() 给出以下输出:

{
  'content-type': 'multipart/form-data; boundary=--------------------------609273787015212598361319'
}

很明显 content-type 已设置。但为什么我得到 Content-Type header is null

curl 正在设置其他标题,如 content-length。这里有问题吗?邮递员正在设置所有标题卷曲也正在设置。但是反应还是不一样。

或者LinkedIn处理请求的方式有问题?这是文档的链接:LinkedIn doc

0 个答案:

没有答案