2011-01-03 9 views
1

まず、私は自分のアプリを中国のサイトに接続しようとしています。私はそのサイトがOauthを完全にサポートしているので、それが重要かどうかはわかりません。アクセストークン要求を取得できませんでした。OAuth :: Unauthorized 401 problem in Rails

ここに私のコードです。

第1工程:

require 'oauth' 


    def consumer 
    OAuth::Consumer.new("206506xxxx", "574705f63783xxxaa4a0bd35e34390fb", :site =>"http://api.t.sina.com.cn") 
    end 


def request_token 

    @request_token = consumer.get_request_token 
    session[:request_token] = @request_token 
    session[:request_token_secret] = @request_token.secret 
redirect_to @request_token.authorize_url(:oauth_callback => 'http://localhost:3000/accesstoken') 

end 

は、それがうまく働いたが、私はauthorize_urlに行くと

は、しかし、私はアクセストークンを取得しようとしていた問題が発生したoauth_verifierを得ることができました。

def access_token 
request_token = OAuth::RequestToken.new(
    consumer, 
    session[:request_token], 
    session[:request_token_secret] 
) 


access_token = request_token.get_access_token(:oauth_verifier=>params["oauth_verifier"]) 


end 

私も

access_token = request_token.get_access_token 

を試してみました。しかし、彼らの両方が401エラーを返しました。

それは有効期限おそらく

セッションに起因するものではないですので、私はすべてのアイデアを、セッションを掃除?

答えて

-3

私は私が働いていた

session[:request_token] = @request_token.token 

を使用し、問題を自分で解決し、その代わりに

session[:request_token] = @request_token 

を使用します。

+0

この作品を制作するためにあなたは何をしましたか?あなたが説明した解決策は鈍いです。 request_token.tokenは文字列であるため、access_tokenを取得するために使用することはできません。 –

関連する問題