我正在尝试通过 Linkedin V2 API 在我的 LinkedIn 个人资料上发布信息。它不断返回错误
请求错误:com.linkedin.publishing.util.common.ResponseException:类型为 person 的作者无权修改 UserGenerateContent。
也许发生这种情况是因为我没有发送我的 LinkedIn 人员 ID。
$author = array(
'author' => 'urn:li:person:XXXXXXXX',
);
Run Code Online (Sandbox Code Playgroud)
如何找到我的 linkedin 个人资料的人员 ID?
我想使用 LinkedIn 共享对话框将 URL 发布到公司页面。所以我在我的页面中包含了这个超链接:
<a th:href="'https://www.linkedin.com/shareArticle?mini=true&url='+ ${#httpServletRequest.requestURL} +'&title=&summary='+#{share.subject}+'&source='" class="buttons buttons--linkedin" target="_blank"></a>
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我选择“在帖子中共享”并选择我的公司页面时,它显示:“删除附件以从其他帐户发布帖子。” 但是,我可以通过我的私人个人资料分享此内容......
是否可以通过共享对话框将 URL 发布到公司页面?
谢谢。
当我使用 axios调用路线https://api.linkedin.com/v2/assets?action=registerUpload时
我有这样的回应
{
"value": {
"uploadMechanism": {
"com.linkedin.digitalmedia.uploading.MediaUploadHttpRequest": {
"uploadUrl": "https://api.linkedin.com/mediaUpload/C4E22AQGSNx_ko_tzLw/feedshare-uploadedImage/0?ca=vector_feedshare&cn=uploads&m=AQK-VkaHKm7-NQAAAXMad6RKlbsQGW9Vi3JI0iFnlEKhTdhVcSZxyxUJ5g&app=17412253&sync=1&v=beta&ut=0MQzOzxqQ7m9k1",
"headers": {
"media-type-family": "STILLIMAGE"
}
}
},
"asset": "urn:li:digitalmediaAsset:C4E22QSGSNx_ko_tzLw",
"mediaArtifact": "urn:li:digitalmediaMediaArtifact:(urn:li:digitalmediaAsset:C4E22AQGSNx_ko_tzLw,urn:li:digitalmediaMediaArtifactClass:feedshare-uploadedImage)"
}
}
Run Code Online (Sandbox Code Playgroud)
我想使用上传链接从我的服务器上传图像
var newFile = fs.createReadStream(__dirname+"/temp/lion.png");
const form_data = new FormData();
form_data.append('file', newFile);
const request_config = {
headers: {
'Authorization': `Bearer ${access_token}`,
"Content-Type": "multipart/form-data"
},
data: {content : form_data['_streams']['1']}
};
const res = await axios.put('https://api.linkedin.com/mediaUpload/C4E2OIQNQE5ILcQCU_lLA/feedshare-uploadedImage/0?ca=vector_feedshare&cn=uploads&m=AQIy5jpkZ0ut2AAAAXMadpS8A97cK9wOSjzagaNHo97bRPCYVZt7f5E4yQ&app=17411153&sync=1&v=beta&ut=2JZ18aO4E6m9k1', form_data, request_config);
Run Code Online (Sandbox Code Playgroud)
但我收到了服务器的响应
"Error: Request failed with status code 400\n at createError (/home/node/app/node_modules/axios/lib/core/createError.js:16:15)\n at settle (/home/node/app/node_modules/axios/lib/core/settle.js:17:12)\n at IncomingMessage.handleStreamEnd (/home/node/app/node_modules/axios/lib/adapters/http.js:236:11)\n at …Run Code Online (Sandbox Code Playgroud) 我尝试了很多方法,但似乎没有一个有效。帮助我使用 python 与 LinkedIn 建立连接。生成访问令牌时出现问题 我收到了代码,但它不起作用。我有 python 3.9 请发布建立连接并获取访问令牌的基本代码示例。我必须使用哪个redirectUri。我可以使用 rediectUri 的任何网站链接吗?
我尝试通过curl和Postman检查API,但没有得到解决方案,它说“未经授权的访问”。 https://github.com/ozgur/python-linkedin <---这是我了解如何使用 API 的地方。接收访问令牌。
我们的代码与 LinkedIn API 集成已成功运行多年,我们数以万计的用户中的大多数对我们的集成没有任何问题,其中涉及连接 LinkedIn 个人资料和页面以及向他们共享内容。
正如您所期望的,当用户完成 OAuth 流程时,我们会检索与其帐户关联的公司列表。然后,我们迭代这些公司,通过https://api.linkedin.com/v2/organizations/[id]?projection=(id,vanityName,localizedName,logoV2(cropped~:playableStreams)使用用户的访问令牌发出请求来检索详细信息。
现在,我们有两个与上述请求相关的错误实例:
Viewer don't have permission to the ADMIN_ONLY VisibilityReduction for urn:li:organization:xxxx
我们请求或不请求哪些字段并不重要。API 表示这些用户在所述页面上具有管理员角色。
任何对这个问题根源的洞察将不胜感激。
使用异地 LinkedIn 共享代码,即https://www.linkedin.com/sharing/share-offsite/?url={url},但它不适用于移动设备。
它在桌面上运行得很好,但移动用户要么被带到 LinkedIn 主页,没有共享选项,要么收到一条消息,显示“此功能仅在我们的应用程序中可用”,并带有“在应用程序中打开”按钮。当他们单击按钮时,他们将被带到应用程序商店。
我们集成了 LinkedIn,使用 OAuth2.0 三足身份验证方法实现自动化。早些时候它运行良好,但现在我们的用户遇到了以下问题:
“请求中使用的令牌已被用户撤销”
问题详细信息: 我们的代码使用刷新令牌以编程方式为经过身份验证的用户生成新的访问令牌,当它在下一个 API 调用中触发时,我们的用户将收到上述错误。但是,它会在 3 到 5 分钟后开始工作。
注意:我们的系统使用刷新令牌来获取 LinkedIn 端点的每个 API 调用中的访问令牌。
错误:
{ "serviceErrorCode": 65601, "message": "The token used in the request has been revoked by the user", "status": 401 }
请研究这个问题并提供一个快速的解决方案,除了生成令牌后的延迟之外。
我在 Linkedin 上共享网站时遇到问题
我有一个https://www.exemple.com网站,Linkedin 可以正确抓取该网站
我添加了一个页面https://www.exemple.com/page此页面的 Linkedin 预览与规范的https://www.exemple.com 相同, 尽管这两个页面的元数据并不相同
我知道元数据是正确的,因为它在其他社交网络(Slack、Discord、Facebook 等...)上完美运行
正如我在https://www.linkedin.com/post-inspector上看到的,Linkedin 认为它已经废弃了我的页面
这肯定是由 LinkedIn 引起的,但我认为链接共享在其他网站或博客上也有效。所以也许我可以找到解决方案
我按照 LinkedIn 文档此处将文件作为八位字节流上传到 LinkedIn Assets API,但我不断收到空响应
这是他们给出的卷曲示例
curl -v -H "Content-Type:application/octet-stream" --upload-file /Users/username/SampleVideo_2mb.mp4 'https://api.linkedin.com/mediaUpload/C5400AQHpR1ANqMWqNA/uploadedVideo/0?ca=vector_feedshare&cn=uploads_secure&ccn=ambry-video&m=AQLEZ2pjh43pagYYYXRaCyztOykwDzluHkkYTbsMjNUzivrEOeObw9h3&app=1234&sync=1&v=beta&ut=1KeEm4JnMnJpo1'
Run Code Online (Sandbox Code Playgroud)
上述代码的正确 axios 等价物是什么?
这是我在 NodeJS 中尝试过的
let uploadHeaders = uploadRegisterData['uploadMechanism']['com.linkedin.digitalmedia.uploading.MediaUploadHttpRequest']['headers'];
let videoUploadFinaleResponse = await axios.put(uploadUrl, fs.createReadStream(fileName), {
headers: {
'Accept': '*/*',
...uploadHeaders,
'Content-Type': 'application/octet-stream'
}
});
let uploadedVideoData = videoUploadFinaleResponse.data; //This is always coming back as an empty string
Run Code Online (Sandbox Code Playgroud)
响应数据始终以空字符串形式返回""。
我有一种感觉,我的 axios 代码等效项有些错误。
我怎样才能做到这一点?
谢谢。
使用 NPM 包 React-Share 时,我收到一条错误,显示以下错误。拒绝从“https://static-exp1.licdn.com/sc/h/8ekldmhv4d8prk5sml735t6np”加载清单,因为它违反了以下内容安全策略指令:“manifest-src 'self'”。
我还尝试将 URL 硬编码到共享链接 https://www.linkedin.com/shareArticle/?url=https%3A%2F%2Fq.sparksandhoney.com%2Freport%2F622bc4fc659871873884fdaa&mini=true
linkedin-api ×10
axios ×2
node.js ×2
share ×2
curl ×1
html ×1
javascript ×1
meta-tags ×1
python ×1
react-share ×1
reactjs ×1