2013-06-24 50 views
0

我想指出我是新手,而不是開發人員,所以我可能會錯過這裏的一些基本步驟。授權錯誤與pengwynn linkedin gem

我想弄清楚如何通過omniauth-linkedin gem授權並通過pengwynn'linkedin'gem查詢Linkedin 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.profileI得到401錯誤時:

LinkedIn ::錯誤::未經授權的錯誤:(401):[未經授權的]。 OAuth請求中使用的令牌無效。 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx>

我在這裏發生了什麼問題?

回答

0

之前的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,你應該保存令牌將來的請求。

祝你好運!

+0

非常感謝! – Dave