在Rails中使用OAuth :: Unauthorized 401问题获取访问令牌请求失败

时间:2011-01-03 20:51:40

标签: ruby-on-rails oauth

首先,我正在尝试将我的应用与中国的网站连接。我不确定这是否重要,因为该网站完全支持Oauth。

这是我的代码。

第一步:

  require 'oauth'


   def consumer
     OAuth::Consumer.new("206506xxxx", "574705f63783xxxaa4a0bd35e34390fb", :site =>"http://api.t.sina.com.cn")
    end


 def request_token

    @request_token = consumer.get_request_token
  session[:request_token] = @request_token
    session[:request_token_secret] = @request_token.secret
 redirect_to @request_token.authorize_url(:oauth_callback => 'http://localhost:3000/accesstoken')

 end

效果很好,我可以去authorize_url并获得oauth_verifier

但是,当我尝试获取访问令牌时,我遇到了一个问题。

 def access_token
 request_token = OAuth::RequestToken.new(
  consumer,
  session[:request_token],
  session[:request_token_secret]
)


access_token = request_token.get_access_token(:oauth_verifier=>params["oauth_verifier"])


 end 

我也试过

   access_token = request_token.get_access_token

但他们都回复了401错误。

我清理了会话,因此可能不是因为会话到期

任何想法?

1 个答案:

答案 0 :(得分:-3)

我自己解决了这个问题,所以没有使用

  session[:request_token] = @request_token

我用过

   session[:request_token] = @request_token.token 

有效。