我有一个人名和LinkedIn个人资料网址数据库。 令人恼火的是,LinkedIn URL(如twitter)没有标准格式,但通常采用以下形式:
1)http://www.linkedin.com/in/geoffroyondet
2)http://www.linkedin.com/profile/view?id=34178115
在我的网站上,我想显示人们的LinkedIn详情。 我已经让OAuth工作正常,对于第一种格式的人(上图),我可以在我的网站上成功显示他们的LinkedIn数据。我正在使用https://developer.linkedin.com/documents/profile-api
中的“公开个人资料网址”选项但是对于第二种格式我遇到了问题。它作为“公共配置文件”无效,并且URL中的ID似乎不是上面链接中的“member_id”。
顺便说一句,如果我尝试将此数字ID用作member_id,我会收到以下错误:
object(SimpleXMLElement)[652]
public 'status' => string '404' (length=3)
...
public 'message' => string 'Invalid member id {34178115}' (length=28)
从使用API开始,我可以获得字母数字id(member_id)的唯一方法是成功的API调用(blah-> person-> id)。但是为了成功进行API调用,我首先需要一个有效的URI。所以它似乎是鸡和蛋的情况。
有关如何使用上面的第二个网址显示LinkedIn数据的任何建议吗?
答案 0 :(得分:6)
看起来这里有两个问题:
1)技术问题。您是正确的,无法通过Profile API通过第二个网址检索用户的个人资料,您只能通过唯一的public-profile-url
,通过会员ID或通过~
来检索用户的个人资料检索当前用户的个人资料。
成员ID与您在查询字符串中看到的数字无关 - 成员ID是为每个API应用程序的每个用户唯一生成的字母数字令牌,因此用户A通过您的应用程序将具有不同的成员ID用户A通过我的应用程序。
您只是随意检索成员个人资料,还是尝试从查看身份验证的用户的连接中检索个人资料信息?你应该能够拉出观众的联系public-profile-url
,或者通过People Search等拉出来。
2)platform guidelines。基本上,您只能通过代表该用户提取信息,向观看者显示有关特定LinkedIn用户的个人资料信息。这意味着,观众已经对API进行了身份验证;你没有提到是否会出现这种情况,但坚持#2可能有助于解决#1。