2011-04-25 17 views
0

こんにちはすべて私は連絡先のリストを取得できるように(OAuthラップを介して)Windows LIVEと対話するために私のレールアプリを取得しようとしています。私はこれを行うためにrest_client宝石を使用しています。ここではそのためのアクションコードは次のとおりです。Ruby rest_clientとwindows LIVE接続OAUTHラップ

 

def hotmail 

    app_id = 'some_id' 
    app_sec = 'some_secret' 
    app_callback = 'http://my.callback.com/same/as/getting/verification_code' 
    app_var = params[:wrap_verification_code] 

    encoded = "wrap_client_id=#{app_id}&wrap_client_secret=#{app_sec}&wrap_verification_code=#{app_var}&wrap_callback=#{app_callback}".encode!('UTF-8') 

    begin 
    r = RestClient.post("https://consent.live.com/AccessToken.aspx", encoded.bytes.to_a, {:content_type => 'application/x-www-form-urlencoded', :content_length => encoded.bytesize}) 
    rescue => e 
     puts e.message 
    end 
    render :text => 'hello' 
    end 
 

私はAC#の例http://msdn.microsoft.com/en-us/library/ff750952.aspxでこれをベースに(注:http://www.goatly.net/2010/12/23/401-unauthorized-when-acquiring-an-access-token-windows-live-sdk.aspxが正しいペイロードを示して)私は401権限得続けるので、私は思っていますしかし

は方法です私はrest_clientを間違って使用していますか?フォームの投稿中に他に何かする必要がありますか?

どのようなヒントが本当に役に立ちます:)ありがとうございます。

答えて

1

問題が見つかりました。 C#コードはバイト配列をポストしていますが、エンコードされたstダイレクトをポストするだけでは十分ではありません。

関連する問題