2010-08-07 46 views
1

我正在開發使用Twitter OAuth的我的Rails 3應用程序,並且由於顯然無法獲取access_token,點擊「允許」和Twitter重定向我後,我遇到了麻煩回到我的應用程序網址,當我去twitter.com/settings/connections我無法在那裏看到我的應用程序作爲授權。我想有什麼問題在我的控制器,我希望你能指出來:無法使用Rails和OAuth gem獲得我的access_token

class OauthController < ApplicationController 
    def start 
    request_token = client.get_request_token(:oauth_callback => 'http://localhost:3000') 
    session[:request_token] = request_token.token 
    session[:request_token_secret] = request_token.secret 
    redirect_to request_token.authorize_url 
    end 

    def callback 
    @access_token = client.get_access_token(:oauth_verifier => params[:oauth_verifier]) 
    render :json => access_token_get('https://api.twitter.com/account/verify_credentials.json') 
    end 

    protected 

    def client 
    @consumer = OAuth::Consumer.new(
     'key','secret', 
     :site => 'https://api.twitter.com', 
     :authorize_url => 'https://api.twitter.com/oauth/authorize', 
     :access_token_url => 'https://api.twitter.com/oauth/access_token' 
    ) 
    end 
end 

請幫幫忙,告訴我哪裏是我的錯,感謝您的關注!

Rodrigo Alves Vieira。

+0

實際上,theres是一個'def start; request_token = client.get_request_token(:oauth_callback =>'http:// localhost:3000')' 標記隱藏了代碼,我無法修復:-p – rodrigoalves 2010-08-07 00:27:38

+0

這可能是一個愚蠢的問題,但是您註冊了應用程序在微博上? – mportiz08 2010-08-07 03:00:08

+0

是的,我做到了。這就是讓問題變得更奇怪的原因:/ – rodrigoalves 2010-08-07 12:25:55

回答

0

我不完全確定你的代碼的哪部分無法正常工作,可能與access_token_get方法有關,但我會告訴你我是如何做到的 - 也許這會有所幫助..

,你初始化@access_token行後,我做這樣的事情:

@response = client.request(:get, "/account/verify_credentials.json", @access_token, { :scheme => :query_string }) 
case @response 
when Net::HTTPSuccess 
    user_info = JSON.parse(@response.body) 
    unless user_info['screen_name'] 
    # authentication failed, error handling 
    end 
    # We have an authorized user, save the information to the database using @access_token.token and @acess_token.secret 
else 
    # error handling 
end 

(哦,我用的是JSON的寶石,所以一定要gem install jsonrequire 'json'在頂部)

希望有所幫助!

+0

這不起作用,但非常感謝! – rodrigoalves 2010-08-08 23:38:18

相關問題