0

x TwitterがRubyで認証されるようにするために何日も働いてきましたが、運がありません。

私の最初の試みは次のようなものでした:

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

非常によく似た方法ですが、Twitter gemを使用し、OAuthgemを直接使用する場合も同じです。OAuth :: Consumer :: token_requestが401エラーで終了しても、

それで、必死になって、私はクローンSnitterをgitし、Twitter credsを追加して、それを試してみましたが、それも401で死んでしまいます。

localhost:300 / twitter / auth、http: //dev.twipler.com:3000 / twitter / auth、および前者2のそれぞれにbit.lyを使用してみました。何も機能しません。

何か助けはありますか?

編集:もちろん、私は自分の秘密を削除するために最も論理的なことをするのを忘れるでしょう。(変更されました;))。

4

1 に答える 1

2

あなたはあなたの消費者の秘密を編集したいかもしれません。これにより、誰でもアプリに代わってリクエストを行うことができます。

とはいえ、システム時刻がntpサーバーに同期されていることを確認してください。システム時間が速くまたは遅くドリフトした場合、タイムスタンプと比較的短いTTLが含まれているため、OAuthリクエストは失敗します。私はしばらく前にこの正確な問題を抱えていました。

それができない場合は、oauth gemをクラックして開き、HTTPデバッグをオンにすることができます。これにより、返されたエラーメッセージを含む完全なHTTPトランザクションが表示されます。

于 2010-08-24T00:39:43.880 に答える