Linkedin API不会获取个人资料数据

时间:2012-10-02 21:32:59

标签: javascript api linkedin

我使用linkedin的JS api获取一些用户个人资料信息。我的标题中有这个:

<script type="text/javascript" src="http://platform.linkedin.com/in.js">
api_key: xxxxx
authorize: false
onload: getProfileData
</script>

这就是我用来提取数据的原因:

<script type="text/JavaScript">

function getProfileData(){
IN.API.Profile("me").fields(["firstName","lastName","headline","summary"]) .result(function(result) {
   alert JSON.stringify(result)) 
}
</script>

然而(通过萤火虫检查)我不是我要求的。相反,它会对标准信息进行获取请求:

https://api.linkedin.com/v1/people::(~):(id,first-name,last-name,headline,picture-url)

任何人都知道这个问题是什么或如何解决?提前致谢

1 个答案:

答案 0 :(得分:2)

您的代码中似乎存在许多错误:

首先,将authorize: false与onLoad回调一起使用将无效,因为authorize:false要求用户为每个页面加载手动“登录”,并且onLoad调用会从他们手中取出该选项。其次,你在bootstrap部分有onload,它应该是onLoad。以下将解决这两个问题:

<script type="text/javascript" src="http://platform.linkedin.com/in.js">
  api_key: xxxxx
  authorize: true
  onLoad: getProfileData
</script>

此外,您在实际工作人员代码中缺少许多括号等 - 以下内容应该有效:

<script type="text/javascript">
  function getProfileData() {
    IN.API.Profile("me")
      .fields(["firstName", "lastName", "headline", "summary"])
      .result(function(result) {
        alert(JSON.stringify(result));
      });
  }
</script>

请注意,如果您希望得到的内容超过basic fields,则需要ask for permission from the user