Jnunemaker только что обновил свой драгоценный камень twitter (https://github.com/jnunemaker/twitter) и удалил класс Twitter :: Oauth. Мой код не очень похож на его пример, поэтому у меня возникают проблемы при его обновлении. Вот как мой код использовал для просмотра твиттер 0,9 самоцвета:
UsersController
def oauth
consumer = Twitter::OAuth.new('mykey','mysecret')
request_token = consumer.request_token
session[:request_token] = request_token.token
session[:request_token_secret] = request_token.secret
redirect_to 'http://api.twitter.com/oauth/authorize?oauth_token='+request_token.token
end
def callback
consumer = Twitter::OAuth.new('mykey','mysecret')
atoken, asecret = oauth.authorize_from_request(session[:request_token], session[:request_token_secret], params[:oauth_verifier])
consumer.authorize_from_access(atoken,asecret)
user = Twitter::Base.new(consumer).verify_credentials
#and then I create a new user in my application, with attributes such as the user's follower count, etc
end
Вот пример того, что я пытался сделать, чтобы изменить этот код:
UsersController
def oauth
consumer = OAuth::Consumer.new("mykey", "mysecret", :site => "siteurl")
request_token = consumer.get_request_token
session[:request_token] = request_token.token
session[:request_token_secret] = request_token.secret
redirect_to 'http://api.twitter.com/oauth/authorize?oauth_token='+request_token.token
end
def callback
consumer = OAuth::Consumer.new("mykey", "mysecret", :site => "siteurl")
request_token = session[:request_token]
atoken = OAuth::RequestToken.new(consumer, request_token.token, request_token.secret).get_access_token(:oauth_verifier => params[:oauth_verifier])
consumer.authorize_from_access(atoken)
user = Twitter::Client.new(consumer).verify_credentials
Gemfile
...
gem 'oauth'
Я уверен, что в моем методе обратного вызова есть ряд неправильных вещей, но одна странная вещь заключается в том, что мой метод oauth работает нормально, когда я работаю локально, но выдает ошибку «502 Bad Gateway», когда я попробуй из моей живой (развернутой с герою) версии.