首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我在从文档上传媒体时得到404 (“找不到资源媒体”)?

为什么我在从文档上传媒体时得到404 (“找不到资源媒体”)?
EN

Stack Overflow用户
提问于 2019-06-26 07:12:38
回答 1查看 2.4K关注 0票数 0

上传富媒体到LinkedIn (https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/rich-media-shares#upload-rich-media)的文档说要用表单数据生成一个到https://api.linkedin.com/media/uploadPOST。据我所知,我在Node服务器上使用request-promise正确地做到了这一点,但我仍然得到了404。

最初,我的文件有一个问题,但现在我认为我可以正确地创建一个缓冲区。即使我不是,这也阻止了我提出请求,现在我是,我不认为这会导致404。

我也尝试过使用1.0.02.0.0版本的X-Restli-Protocol-Version (LinkedIn应用程序接口)。

代码语言:javascript
复制
// See LinkedIn docs on Rich Media shares https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/rich-media-shares

const stream = require('stream');
const rp = require('request-promise')

async function postRichMediaShare(accessToken) {
  try {
    const file = await rp({
      method: 'get',
      url: 'https://local-image-bucket.s3.amazonaws.com/Artboard+copy.png'
    });

    // Buffer magic
    const buffer = new Buffer.from(file);
    const bufferStream = new stream.PassThrough();
    bufferStream.end( buffer );
    bufferStream.pipe( process.stdout );

    const options = {
      method: 'post',
      url: 'https://api.linkedin.com/v2/media/upload',
      headers: { 'X-Restli-Protocol-Version': '2.0.0',
      "Authorization": `Bearer ${accessToken}` },
      formData: {
        file: {
          value: bufferStream,
          options: {
            filename: 'Artboard+copy.png',
            contentType: 'image/png'
          }
        }
      },
    };

    const response = await rp(options);
    console.log("response", response);

    return response;
  } catch (error) {
    throw new Error(error);
  }
}

我从LinkedIn得到的不是文档中建议的响应,而是以下错误消息:

代码语言:javascript
复制
error: "{"serviceErrorCode":0,"message":"Resource media does not exist","status":404}"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-27 03:57:14

我是个笨蛋。应该是404,因为我请求的是https://api.linkedin.com/v2/media/upload,而文档显示是https://api.linkedin.com/media/upload (无v2/)。我相信每一个其他的调用都是有版本的。也许一个被授权的LinkedIn员工读到这篇文章后,可以为v2/提供一条做同样事情的路线。

注意,上面的代码可能还有其他问题,我仍然在努力,但现在我正在处理这个关于404的问题范围之外的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56763153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档