我很难在LinkedIn上获得分享。我试图通过LinkedIn API V2发布LinkedIn共享,每次我提出发布请求时,都会从服务器得到一个请求超时(状态504)的回答。这是我的代码。
myPost = {
'author': 'urn:li:person:' + this.uid,
'lifecycleState': 'PUBLISHED',
'specificContent': {
'com.linkedin.ugc.ShareContent': {
'shareCommentary': {
'text': 'Hello World! This is my first Share on LinkedIn!'
},
'shareMediaCategory': 'NONE'
}
},
'visibility': {
'com.linkedin.ugc.MemberNetworkVisibility': 'PUBLIC'
}
}
header = {
'Content-Type': 'application/json',
'X-Restli-Protocol-Version': '2.0.0',
'Authorization': 'Bearer ' + token
};
this.http.post('https://api.linkedin.com/v2/ugcPosts', myPost, header).then(res => {
alert(JSON.stringify(res));
})
.catch(err => {
alert(JSON.stringify(err));
});
这里是错误信息。
{
"message": "Request timed out",
"status": 504
}
这是一个angular-ionic项目,我使用原生的cordova-plugin-advanced-http来发布请求。我在LinkedIn上登录时没有任何问题,获得我的访问令牌,并使用相同的本地插件和LinkedIn API V2从LinkedIn上获取数据。
在我的LinkedIn开发者账户上,到使用&限制页面,我可以看到API调用创建方法。
如果LinkedIn无法解析请求体,就会发生与LinkedIn API v2中POST端点相关的超时。这里发布的例子的解决方案是将 "请求超时 "变成 "请求超时"。myPost
变成一个合适的JSON字符串,例如 json.dumps(myPost)
.
超时也可能发生,如果缺少了 'Content-Type': 'application/json'
头部,我在使用ruby玩他们的API时被咬了。
帮助我解决了python上的同样问题
head = {
'Authorization': 'Bearer '+token, 'X-Restli-Protocol-Version': '2.0.0'
}
body = {
"author": 'urn:li:person:'+ID,
"lifecycleState": "PUBLISHED",
"specificContent": {
"com.linkedin.ugc.ShareContent": {
"shareCommentary": {
"text": "Hello World! This is my first Share on LinkedIn!"
},
"shareMediaCategory": "NONE"
}
},
"visibility": {
"com.linkedin.ugc.MemberNetworkVisibility": "PUBLIC"
}
}
requests.post('https://api.linkedin.com/v2/ugcPosts', data=json.dumps(body),headers=head)
真的没有理由在LinkedIn上使用一个混淆的、js-lib插件来仅仅分享一个链接。 你所需要的就是。
https://www.linkedin.com/sharing/share-offsite/?url={url}
来源: 微软LinkedIn共享URL文档.
例如,这对我来说是有效的。
https:/www.linkedin.comsharingshare-offsite?url=http:/www.wikipedia.org
运作良好。
完全没有认证问题 然后自己做个按钮,超链接就可以了。 没问题。
如果你对一个定期维护的GitHub项目感兴趣的话,可以看看它。 社交分享URL