搜尋

首頁  >  問答  >  主體

ruby - OAuth gem get_request_token Net::HTTPFatalError 錯誤的原因

使用 OAuth gem - https://rubygems.org/gems/oauth 做 OAuth 操作。

參考官方文件:http://www.rubydoc.info/gems/oauth/ 和 OAuth ruby​​ 範例:http://wiki.openstreetmap.org/wiki/OAuth_ruby_examples 這樣做:

ruby@consumer=OAuth::Consumer.new ENV["consumer_key"],
                          ENV["consumer_secret"],
                          {:site=>ENV["api_url"]}

@request_token = @consumer.get_request_token

這裡能取得 @consumer 裡的數據,但執行到 @consumer.get_request_token 時報錯:

Net::HTTPFatalError (500 "Internal Server Error"):

查看了 OAuth gem 的源代碼:

https://github.com/oauth-xx/oauth-ruby/blob/master/lib/oauth/consumer....

如果不設定 oauth_callback,它將為 OAuth::OUT_OF_BAND

這是上面錯誤的原因嗎?一定要設定 callback 嗎? (文檔中有這麼一句:We need to specify the oauth_callback url explicitly, otherwise it defaults to “oob” (Out of Band)

阿神阿神2776 天前717

全部回覆(1)我來回復

  • 怪我咯

    怪我咯2017-04-24 09:12:04

    不一定要給這個 callback 加一個 controller,在回傳的重定向 URL 裡把你要的東西正則出來就行了

    回覆
    0
  • 取消回覆