2012-04-11 22 views
1

こんにちは、私はリンクインラインでリンクスで接続するためにリンクインジェムを使用しています。これは私のコントローラです。レールでリンクされたプロファイル情報を取得するには?

class LoginsController < ApplicationController 
    helper_method :current_user 

    def show 
    end 

    def create 
    request_token = consumer.get_request_token(:oauth_callback => callback_login_url) 
    Rails.cache.write(request_token.token, request_token.secret) 
    redirect_to request_token.authorize_url 
    end 

    def callback 
    request_token = OAuth::RequestToken.new(consumer, params[:oauth_token], Rails.cache.read(params[:oauth_token])) 
    access_token = request_token.get_access_token(:oauth_verifier => params[:oauth_verifier]) 
    session[:access_token] = access_token.token 
    session[:access_token_secret] = access_token.secret 
    redirect_to :action => :show 
    end 

    def logout 
    reset_session 
    redirect_to :action => :show 
    end 

    private 
    CONSUMER_KEY = { 
    :key => "ddddd", 
    :secret => "eeeeeeeeee" 
    } 
    CONSUMER_OPTIONS = { :site => 'https://api.linkedin.com', 
        :authorize_path => '/uas/oauth/authorize', 
        :request_token_path => '/uas/oauth/requestToken', 
        :access_token_path => '/uas/oauth/accessToken' } 

    def consumer 
    @consumer ||= OAuth::Consumer.new(CONSUMER_KEY[:key], CONSUMER_KEY[:secret], CONSUMER_OPTIONS) 
    end 

    def access_token 
    if session[:access_token] 
     @access_token ||= OAuth::AccessToken.new(consumer, session[:access_token], session[:access_token_secret]) 
    end 
    end 

    def current_user 
    if access_token 
     @current_user ||= JSON.parse(access_token.get('http://api.linkedin.com/v1/people/~', 'x-li-format' => 'json').body) 
    end 
    @current_user 
    end 

end 

、これが私の見解とは何かある:

<% if current_user %> 
    Welcome to Lovelinked , <%=link_to current_user['firstName'], current_user['siteStandardProfileRequest']['url'] %> 
    <%=link_to current_user['lastName'], current_user['siteStandardProfileRequest']['url'] %> 
    <%=button_to "Sign Out", logout_login_path, :method => :get %> 
<% else %> 
    Sign in with LinkedIn 
    <%=button_to "Sign In", login_path, :method => :post %> 
<% end %> 

私は、姓と名を取得することができるよとimages_urlや場所などのパラメータを渡されたが、これらの情報を取得する方法、機能していません現在の会社名なども教えてください。

私はグーグルではありますが、正しい情報が得られません。 「LinkedInの」宝石はあなたが文字列の配列として返さ探している情報を取得するために次の操作を行うことができます使用

+1

で発見されたのですか? – Reactormonk

+0

私は、誰もこのための答えを得るためにそこにいることを知って驚いています! – SAR

答えて

関連する問題