我正在开发使用Twitter OAuth的Rails 3应用程序而且我遇到了麻烦,因为显然我无法获得access_token,点击“允许”并将Twitter重定向回我的应用程序网址,当我去推特时。 com / settings / connections我无法在授权的情况下看到我的应用程序。我想我的控制器有问题,我希望你能指出它们:
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
请帮忙,告诉我我的错误在哪里,谢谢你的关注!
罗德里戈·阿尔维斯·维埃拉。答案 0 :(得分: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,所以请确保gem install json
和require 'json'
位于顶部)
希望有所帮助!