2013-04-25 32 views
0

我試圖運行一個簡單的身份驗證調用來通過linkedin檢索配置文件。
我在rails上運行ruby,並嘗試了這裏解釋的示例「http://developer.linkedin.com/documents/code-samples」。爲「客戶端功能」獲取「未定義方法auth_code」:字符串「

當運行我的代碼,我得到的這個錯誤
undefined method `auth_code' for "Client function":String

我已經包含在我的Gemfile如下:

gem 'linkedin' 
    gem 'oauth2' 
    gem 'oauth' 

用下面的代碼:

#Instantiate your OAuth2 client Object 
    def client 
    OAuth2::Client.new(
     CONSUMER_KEY, 
     CONSUMER_SECRET, 
     :authorize_url => "/uas/oauth2/authorization?response_type=code", 
     :token_url => "/uas/oauth2/accessToken", 
     :site => "https://www.linkedin.com" 
    ) 
    pp 'Client function' 
    end 

    def test1 
    pp ' to authorize function' 
    authorize 
    end 

    def authorize 
    pp 'in authorize' 
    #Redirect user in order to authenticate 
    redirect_to client.auth_code.authorize_url(:scope => 'r_fullprofile r_emailaddress r_network', 
               :state => STATE, 
               :redirect_uri => REDIRECT_URI) 
    end 

所以,當它到達redirect_to client.auth_code.authorize_url()我沒有定義「auth_code」。

這是什麼原因?我是否需要安裝另一種類型的寶石。我已經嘗試了軟件包更新和軟件包安裝。什麼都沒有發生。

任何幫助是非常讚賞。謝謝

回答

1

您的客戶端方法通過pp方法而不是您創建的客戶端實例返回字符串「客戶端功能」。

+0

欣賞它。我愚蠢!新的紅寶石 – rbz 2013-04-26 18:28:26

1

ruby​​方法返回最後一條語句的輸出。在你的情況下,這是pp聲明。刪除pp或將其放在方法的開頭。

+0

你也是如此。謝謝,欣賞它。 – rbz 2013-04-26 18:28:45

相關問題