首先,我正在尝试将我的应用与中国的网站连接。我不确定这是否重要,因为该网站完全支持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错误。
我清理了会话,因此可能不是因为会话到期
任何想法?
答案 0 :(得分:-3)
我自己解决了这个问题,所以没有使用
session[:request_token] = @request_token
我用过
session[:request_token] = @request_token.token
有效。