使用ugc post api在linkedin页面上发布视频

问题描述

LinkedIn视频帖子始终因“内部服务器错误”而失败,状态:500。我正在使用node.js。我从两天后开始尝试,无法解决问题。我尝试使用curl请求上传视频时,认为上传不正确。这是我的代码

const url = path.join(__dirname,`/../storage/SocialAttachments/${filename}`);
const mediaData = {
    registerUploadRequest: {
      owner: foundPage.pageId,recipes: [
        'urn:li:digitalmediaRecipe:Feedshare-video'
      ],serviceRelationships: [
        {
          identifier: 'urn:li:userGeneratedContent',relationshipType: 'OWNER'
        }
      ]
    }
  };
  axios.post(encodeURI('https://api.linkedin.com/v2/assets?action=registerUpload'),mediaData,{ headers: { Authorization: `Bearer ${foundLdAccount.token}`,'Content-Type': 'application/json' } }).then(response => {
    if (response.data.value && response.data.value.asset && response.data.value.uploadMechanism && response.data.value.uploadMechanism['com.linkedin.digitalmedia.uploading.MediaUploadHttpRequest'] && response.data.value.uploadMechanism['com.linkedin.digitalmedia.uploading.MediaUploadHttpRequest'].uploadUrl) {
      exec(`curl -v -H "Content-Type:application/octet-stream" --upload-file ${url} "${response.data.value.uploadMechanism['com.linkedin.digitalmedia.uploading.MediaUploadHttpRequest'].uploadUrl}"`,(error,stdout,stderr) => {
        if (error) {
          const postData = {
            author: foundPage.pageId,// organization urn
            lifecycleState: 'PUBLISHED',specificContent: {
              'com.linkedin.ugc.ShareContent': {
                media: {
                  media: response.data.value.asset,status: 'READY'
                },shareCommentary: {
                  text: req.body.message
                },shareMediaCategory: 'VIDEO'
              }
            },visibility: {
              'com.linkedin.ugc.MemberNetworkVisibility': 'PUBLIC'
            }
          };
          setTimeout(() => {
            axios.post(encodeURI(`https://api.linkedin.com/v2/ugcPosts`),postData,{ headers: { Authorization: `Bearer ${foundLdAccount.token}` } }).then(response => {
              const updateInfo = {
                dispatchStatus: 'published',postId: response.data.id
              };
              server.models.LinkedinQueue.update({ pageId: createdQueue.pageId,postId: createdQueue.postId },updateInfo);
            }).catch(err => {
              console.log(err.response.data);
              server.models.LinkedinQueue.update({ pageId: createdQueue.pageId,{ dispatchStatus: 'Failed' });
            });
          },10000);
        } else {
          server.models.LinkedinQueue.update({ pageId: createdQueue.pageId,{ dispatchStatus: 'Failed' });
        }
      });
    } else {
      server.models.LinkedinQueue.update({ pageId: createdQueue.pageId,{ dispatchStatus: 'Failed' });
    }
  }).catch(err => {
    console.log(err.response.data);
    server.models.LinkedinQueue.update({ pageId: createdQueue.pageId,{ dispatchStatus: 'Failed' });
  });

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...