【问题标题】:How to upload the image using LinkedIn API without using curl request?如何在不使用 curl 请求的情况下使用 LinkedIn API 上传图像?
【发布时间】:2020-07-10 18:07:50
【问题描述】:

我已经使用 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"

我尝试将相同的请求与“request”包一起使用,该包失败并将我重定向到“404 page not found”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 });
            }
        }));

我关注的文档页面:https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/rich-media-shares

#linkedin

【问题讨论】:

    标签: linkedin linkedin-api


    【解决方案1】:

    请求方法应该是 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 请求之前工作正常。
    猜你喜欢
    • 2016-01-02
    • 2011-10-19
    • 2020-10-29
    • 2018-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    • 2011-07-22
    相关资源
    最近更新 更多