问题描述
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 (将#修改为@)