无法使用linkedin API v2在linkedin上共享

时间:2019-02-22 23:44:03

标签: linkedin linkedin-api

我很难在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
}

这是一个棱角分明的项目,我使用本地的cordova-plugin-advanced-http发出了发布请求。使用相同的本机插件和linkedin api v2,可以使用linkedin登录,获取访问令牌并从linkedin检索数据都没有问题。

在我的Linkedin开发人员帐户上的“使用和限制”页面上,我可以看到用于创建方法的api调用。

3 个答案:

答案 0 :(得分:2)

如果LinkedIn无法解析请求正文,则可能发生与LinkedIn API v2中的POST端点相关的超时。这里发布的示例的解决方案是将myPost转换为正确的JSON字符串,例如。 json.dumps(myPost)

如果缺少'Content-Type': 'application/json'标头(也会在使用ruby使用其API玩耍时咬住我),也会发生超时。

答案 1 :(得分:0)

在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)

答案 2 :(得分:0)

确实没有理由使用模糊的js-lib插件在LinkedIn上共享链接。您只需要:

https://www.linkedin.com/sharing/share-offsite/?url={url}

来源: Microsoft LinkedIn Share URL Documentation

例如,这对我有用:

https://www.linkedin.com/sharing/share-offsite/?url=http://www.wikipedia.org/

工作正常:

完全没有身份验证问题。然后只需创建您自己的按钮并将其超链接即可。没问题。

如果您对定期维护的GitHub项目感兴趣,可以跟踪该项目,而不必这样做,请查看! Social Share URLs

Social Share URLs Image