0

大家好,我正在尝试让我的 rails 应用程序与 Windows LIVE(通过 OAuth Wrap)对话,以便检索联系人列表。我正在使用 rest_client gem 来执行此操作。这是它的操作代码:


 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 Unauthorized,所以我在想我使用 rest_client 的方式不正确?在表单发布期间,我还需要做些什么吗?

任何提示都会非常有帮助:) 在此先感谢。

4

1 回答 1

1

发现了问题。C# 代码说它发布字节数组,但那不是真的,只是发布编码的 st 直接就足够了。

于 2011-04-26T11:07:10.310 回答