LinkedIn OAuth异常范围NOT_AUTHORIZED r_fullprofile

时间:2015-05-13 09:58:36

标签: oauth ruby-on-rails-3.2 oauth-2.0 linkedin linkedin-api

直到今天,当我收到来自LinkedIn的电子邮件,指出一些重要的API更改时,一切运行良好。随后我在通过身份验证用户时看到了例外情况。 LinkedIn。

  

以下是日志

的例外情况
OAuth::Problem (Scope NOT_AUTHORIZED : r_fullprofile):
  oauth (0.4.7) lib/oauth/consumer.rb:178:in `request'
  oauth (0.4.7) lib/oauth/consumer.rb:194:in `token_request'
  oauth (0.4.7) lib/oauth/consumer.rb:136:in `get_request_token'
  

获取请求令牌的OAuth逻辑。

consumer = OAuth::Consumer.new(LINKED_IN_API_KEY, LINKED_IN_SECRET_KEY,
                 {
                   :site               => "https://api.linkedin.com",
                   :scheme             => :header,
                   :http_method        => :post,
                   :request_token_path => "/uas/oauth/requestToken?scope=r_fullprofile",
                   :access_token_path  => "/uas/oauth/accessToken",
                   :authorizeEmapath     => "/uas/oauth/authorize"
                 })

### Exception occurs at this call.
request_token = consumer.get_request_token(:oauth_callback => callback_url)
  

来自LinkedIn的电子邮件

enter image description here

  

我的分析到现在为止

如果我将范围更改为r_basicprofile它可以正常工作,但我不会获得经过身份验证的用户的skills个信息。

为了满足API的变化,我需要做哪些额外的更改?

2 个答案:

答案 0 :(得分:5)

May 12, 2015开始,Linkedin限制了开放API。

访问r_fullprofile范围要求您申请并获准从LinkedIn获取此信息。完整的个人资料字段仅适用于已为Apply with LinkedIn用例申请并获得批准的应用程序。

解决方案:

向LinkedIn申请合作伙伴身份,解释您的集成是什么以及它的工作原理。如果它符合"我们认为他们为会员,开发者和LinkedIn提供了价值,那么部分或全部限制端点将对该应用保持开放状态,只有那个app。

会员资料字段

以下所选的个人资料字段可供所有LinkedIn开发人员使用:

  1. 基本资料字段
  2. 位置字段
  3. 位置字段
  4. 可向LinkedIn开发人员申请的会员资料字段:

    以下选择的个人资料字段仅适用于已申请并已获批准使用LinkedIn用例的应用程序:

    1. 完整档案字段
    2. 联系信息字段
    3. 公司领域
    4. 出版物字段
    5. 专利领域
    6. 语言字段
    7. 技能领域
    8. 认证领域
    9. 课程字段
    10. 教育领域
    11. 志愿者领域
    12. 查看此linkedin page,详细了解哪些字段可供所有开发人员使用,哪些字段不可用。

答案 1 :(得分:3)