Otrzymuj błąd OAuth :: Unauthorized podczas używania klejnotów ruby ​​oauth i twitter

Używam ruby ​​twitter gem i oauth, aby uzyskać dostęp do kont użytkowników Twitter. W moim kodzie mam:

unless @user.twitter_authd?
      oauth = Twitter::OAuth.new('token', 'secret')
      session[:twitter_request_token] = oauth.request_token.token
      session[:twitter_request_secret] = oauth.request_token.secret
      @twitter_auth_url = oauth.request_token.authorize_url
    end

gdzie token i sekret mają włożony mój rzeczywisty token i sekret. Kiedy klikam link do @twitter_auth_url, zostajeem przeniesiony do Twittera i poproszony o udzielenie dostępu. Klikam zezwalaj, a następnie twitter przekierowuje mnie do mojego adresu zwrotnegohttp://www.mydomain.com/twitter_callback/?oauth_token=fmy2aMvnjVgaFrz37bJ4JuB8r5xN79gsgDQRG4BNY który następnie trafia w ten kod:

oauth = Twitter::OAuth.new('token', 'secret')

    logger.info("session[:twitter_request_token] = #{session[:twitter_request_token]}")
    logger.info("session[:twitter_request_secret] = #{session[:twitter_request_secret]}")

    oauth.authorize_from_request(session[:twitter_request_token], session[:twitter_request_secret])
    session[:twitter_request_token] = nil
    session[:twitter_request_secret] = nil

    @user.update_attributes({
      :twitter_token => oauth.access_token.token, 
      :twitter_secret => oauth.access_token.secret,
    })

    redirect_to root_path

Token i sekret żądania twittera są w porządku. Jednak kończę na błędzie autoryzacji:

 OAuth::Unauthorized in MainController#twitter_callback

401 Unauthorized

RAILS_ROOT: /Users/TAmoyal/Desktop/RoR_Projects/mls
Application Trace | Framework Trace | Full Trace

/Library/Ruby/Gems/1.8/gems/oauth-0.3.4/lib/oauth/consumer.rb:167:in `token_request'
/Library/Ruby/Gems/1.8/gems/oauth-0.3.4/lib/oauth/tokens/request_token.rb:14:in `get_access_token'
/Library/Ruby/Gems/1.8/gems/erwaller-twitter-0.6.13.1/lib/twitter/oauth.rb:29:in `authorize_from_request'
/Users/TAmoyal/Desktop/RoR_Projects/mls/app/controllers/main_controller.rb:70:in `twitter_callback'

Kod nie działa w tej linii:

oauth.authorize_from_request(session[:twitter_request_token], session[:twitter_request_secret])

kiedy próbuje uzyskać token dostępu. Możesz zobaczyć kod źródłowy authorize_from_requesttutaj. Nie wiem, dlaczego tak się dzieje. Czy ktoś ma pomysły?

questionAnswers(8)

yourAnswerToTheQuestion