Jnunemaker가 지저귐 보석 (https://github.com/jnunemaker/twitter)을 업데이트하고 Twitter :: Oauth 수업을 삭제했습니다. 내 코드는 그의 예제처럼 보이지 않으므로 업데이트하는 데 문제가 있습니다. 이 코드 변경하려고 노력했는지의 예oauth gem 및 twitter 1.0.0 gem을 사용하여 Rails 응용 프로그램의 사용자를 인증하려면 어떻게합니까?
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
것 : 여기 내 코드는 트위터 0.9 보석으로 조회하는 데 사용 무엇
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
젬 파일
...
gem 'oauth'
콜백 메소드에는 여러 가지 문제가있을 수 있지만 이상한 점은 로컬에서 실행될 때 oauth 메소드가 제대로 작동한다는 것입니다.하지만 시도 할 때 '502 Bad Gateway'오류가 발생합니다. 내 라이브 (heroku로 배포) 버전.
는 프록시를 사용하고 (즉 Apigee 부가에게 Heroku에 대한) : 컨트롤러 동작에 대한 올바른 코드는 다음과 같은 것입니까? – monocle
Nope. heroku gem을 사용합니다. https://github.com/heroku/heroku – kateray
access_token을 직접 사용하여 요청할 수 있습니까? 즉, access_token.request (: get, "http://api.twitter.com/1/statuses/home_timeline.json") – monocle