无法使用LinkedIn API v.2在LinkedIn上进行分享。

问题描述 投票:4回答:3

我很难在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
3个回答
4
投票

如果LinkedIn无法解析请求体,就会发生与LinkedIn API v2中POST端点相关的超时。这里发布的例子的解决方案是将 "请求超时 "变成 "请求超时"。myPost 变成一个合适的JSON字符串,例如 json.dumps(myPost).

超时也可能发生,如果缺少了 'Content-Type': 'application/json' 头部,我在使用ruby玩他们的API时被咬了。


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)

0
投票

真的没有理由在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

Social Share URLs Image

© www.soinside.com 2019 - 2024. All rights reserved.