代码之家  ›  专栏  ›  技术社区  ›  Tyler Smith

401 Ruby OAuth for Twitter出错

  •  0
  • Tyler Smith  · 技术社区  · 14 年前

    我的第一次尝试是这样的:

    class TwitterController < ApplicationController
    
      def index
        @callback_url = "http://dev.twipler.com:3000/twitter/auth"
        @auth= TwitterOAuth::Client.new( :consumer_key => "xxx", :consumer_secret => "xxxxxxxxxxxxxxxxx" )
        @rtoken = @auth.request_token :oauth_callback => @callback_url
        @token = @rtoken.token
        @secret = @rtoken.secret
        @link = @rtoken.authorize_url
        session['token' ] = @token
        session['secret'] = @secret
        redirect_to @link
      end
    
      def auth
         @auth.authorize_from_request(session[:rtoken], session[:rsecret], params[:oauth_verifier])
      end
    end
    

    所以,出于绝望,我试图克隆git Snitter

    我试过用本地主机:300/twitter/auth, http://dev.twipler.com:3000/twitter/auth ,和一点点地对于前2个。什么都不管用。

    有什么帮助吗?

    编辑:当然,我会忘记做最合乎逻辑的事情,删除我的秘密。(它们已被更改;))。

    1 回复  |  直到 4 年前
        1
  •  2
  •   Chris Heald    14 年前

    也就是说,确保系统时间与ntp服务器同步。如果系统时间漂移过快或过慢,OAuth请求将失败,因为它们包含时间戳和相对较短的TTL。我有这个 exact problem

    否则,您可以打开oauth gem并打开HTTP调试,它将显示完整的HTTP事务,包括返回的任何错误消息。