2013-11-23 3 views
0

Я столкнулся с интересной проблемой с реализацией Oauth Tumblr, которую я хотел документировать для других. Когда я когда-либо пользовался приведенным ниже кодом, я получил «400 Bad Request», когда я проверил ответ в wirehark, я обнаружил, что это возвращалось из tumblr. «Внеполосные (« oob ») обратные вызовы не поддерживаются этой реализацией. ». Это wwierd, потому что мое приложение tumblr имеет поле обратного вызова, которое я явно установил.Rails + Oauth + Tumblr

# Your tumblr details: 
key = "Your Key" 
secret = "Your Secret" 
site = "http://www.tumblr.com" 

# puts 'Setting up request' 
@consumer = OAuth::Consumer.new(key, secret, { :site => site, 
               :request_token_path => '/oauth/request_token', 
               :authorize_path => '/oauth/authorize', 
               :access_token_path => '/oauth/access_token', 
               :http_method => :post 
               }) 


puts 'Asking for token, dies here.' 
@request_token = @consumer.get_request_token() 

puts 'Got Token Storing' 
session[:request_token][email protected]_token 

puts 'Redirecting' 
redirect_to @request_token.authorize_url 

ответ

0

Оказывается, что поле обратного вызова в api tumblr не учитывается.

вам нужно изменить эту строку:

@request_token = @consumer.get_request_token() 

быть:

@request_token = @consumer.get_request_token(:oauth_callback => "http://192.168.2.115:5000/oauth/callback") 

Это, кажется, делает все это работать.

Смежные вопросы