3

Linkedin 最近更新了他们的 API,使其在某些情况下可以访问的内容限制较少,但在访问方式方面通常更加明确。

特别是,您必须在 omniauth 构建器中明确请求您想要的数据:

Rails.application.config.middleware.use OmniAuth::Builder do   
   provider :linkedin, "consumer_key", "consumer_secret", 
      :scope => 'r_fullprofile r_emailaddress r_network', 
      :fields => ["id", "email-address", "first-name", "last-name", "headline", 
            "industry", "picture-url", "public-profile-url", "location", "connections"]   
end

见:https ://github.com/skorks/omniauth-linkedin

与前面引文中的字段不同(所有这些字段都是一般可访问的配置文件信息的一部分),“连接”是必须在此处明确请求的结构化对象(默认情况下可以访问前面的字段)。

我对“职位”和“教育”字段更感兴趣,它们像“连接”一样是结构化对象。例如,职位包含有关每个职位的公司、职位、开始日期、结束日期的数据:

http://developer.linkedin.com/documents/profile-fields

我如何在我的omniauth builder中对职位和教育中的字段提出正确的请求?我可以使用旧 API 密钥访问它们,但不能使用新发布的密钥(截至 8 月)。帮助表示赞赏!

4

2 回答 2

2

看起来您正在向您的应用程序授予r_fullprofile权限。这才是正确的会员权限。但是,这只会将完整的个人资料字段授予经过身份验证的用户(其中​​包含职位和教育字段)。通过您的第一和第二学位连接,您只能检索基本个人资料字段的字段(作为r_basicprofile成员权限的一部分)

于 2012-10-05T01:37:52.987 回答
0

您需要添加教育领域以及范围,以便您的领域将变成类似

:fields => ["id", "email-address", "first-name", "last-name", "headline", 
        "industry", "picture-url", "public-profile-url", "location", "connections", "educations"]

有关详细信息,请参阅https://developer.linkedin.com/documents/profile-fields#educations

于 2014-09-09T14:39:14.857 回答