pengwynn-linkedin-gem的授权错误



我想指出,我是一个新手,而不是开发人员,所以我可能会错过一些基本步骤。

我正试图弄清楚如何通过omniauth-linkedin-gem进行授权,并通过pengwynn'linkedin'gem查询Linkedinneneneba API。

我可以通过oauth连接用户,创建设计用户条目等等,一切都很好。

当我试图查询API时,问题就会出现,特别是我有兴趣获得用户的技能列表。我的users_controller.rb 下有这段代码

def show
    @user = User.find(params[:id])
    token = @user.access_token
    secret = @user.access_secret
    client = LinkedIn::Client.new(ENV["LINKEDIN_KEY"], ENV["LINKEDIN_SECRET"])
    client.authorize_from_access(token, secret)
    raise client
  end

我提升客户端只是为了与新创建的客户端玩一玩,不幸的是,当查询client.profile时,我得到401错误:

领英::错误::未授权错误:(401):[未授权]。OAuth请求中使用的令牌无效。xxxxxxxx-xxxx-xxxx.xxxx-xxxxxxxxx>

我做错了什么?

raise client之前,您应该提供权限。你应该重定向到:

redirect_to request_token.authorize_url

例如:

def show
  client = LinkedIn::Client.new(ENV["LINKEDIN_KEY"], ENV["LINKEDIN_SECRET"])
  request_token = client.request_token({:oauth_callback => "callback url here"}, :scope => "rw_nus r_fullprofile r_emailaddress")
  client.authorize_from_access(request_token.token, request_token.secret)
  redirect_to request_token.authorize_url
end

在您的回调url中,您应该保存令牌以备将来请求。

祝你好运!

最新更新