如何使用LinkedIn API上传图像而不使用curl请求?

如何使用LinkedIn API上传图像而不使用curl请求?,linkedin,linkedin-api,Linkedin,Linkedin Api,我已经使用了curl请求上传了一张成功为我工作的图像 curl -i --upload-file ~/Desktop/Myimage.jpg -H 'Authorization: Bearer Redacted' "https://api.linkedin.com/mediaUpload/C5522AQHn46pwH96hxQ/feedshare-uploadedImage/0?ca=vector_feedshare&cn=uploads&m=AQLKRJOn_yNw6

我已经使用了curl请求上传了一张成功为我工作的图像

curl -i --upload-file ~/Desktop/Myimage.jpg -H 'Authorization: Bearer Redacted' "https://api.linkedin.com/mediaUpload/C5522AQHn46pwH96hxQ/feedshare-uploadedImage/0?ca=vector_feedshare&cn=uploads&m=AQLKRJOn_yNw6wAAAW2T0DWnRStny4dzsNVJjlF3aN4-H3ZR9Div77kKoQ&app=1983914&sync=0&v=beta&ut=1Dnjy796bpjEY1"
我曾尝试对“请求”包使用相同的请求,但失败并将我重定向到“404页面未找到”LinkedIn页面

代码如下:

const options = {
            headers: {
                'Authorization': `Bearer ${accessToken}`,
                'X-Restli-Protocol-Version': '2.0.0',
                'Content-Type': 'multipart/form-data'
            },
            method: 'put',
            url: mediaUploadUrl
        }

fs.createReadStream(filePath).pipe(request(options, function(err, httpsResponse, body){
            if ( err ) {
                console.log('err', err);
                response(callback, 400, err);
            } else {
                console.log(body);
                response(callback, 200, { mediaUrn });
            }
        }));
我遵循的文档页面:


#linkedin

请求方法应该是POST,但您发送的是PUT,下面的代码应该可以工作

const options = {
        headers: {
            'Authorization': `Bearer ${accessToken}`,
            'X-Restli-Protocol-Version': '2.0.0',
            'Content-Type': 'multipart/form-data'
        },
        method: 'post',
        url: mediaUploadUrl
    }

fs.createReadStream(filePath).pipe(request(options, function(err, httpsResponse, body) {
        if ( err ) {
            console.log('err', err);
            response(callback, 400, err);
        } else {
            console.log(body);
            response(callback, 200, { mediaUrn });
        } 
 }));

谢谢但我已经尝试过这两种方法(POST、PUT),但没有一种对我有效。奇怪的是,它在使用PUT请求之前工作正常。