具有基本身份验证和多个数据的Ruby Post请求

时间:2017-08-19 04:25:28

标签: ruby-on-rails ruby api

我正在使用RestClient gem,下面是我的命令

curl -H 'Authorization: Basic ENCODED_CLIENT_CREDENTIALS' --data 'username=user@test.com&password=test&grant_type=password&scope=user%20documents%20user%2Fdocumentsv2' https://api.com/oauth2/token 

我不会通过以下RestClient进行翻译,这是我的代码:

access = RestClient::Request.new(
        :method => :post,
        :url => 'https://api.com/oauth2/token',
        :data => {
            :username => 'xxxx',
            :password => 'xxxx',
            :grant_type => 'password'
        },
        :headers => {
            :Authorization => "Basic some_string",
            :'Content-Type' => 'application/x-www-form-urlencoded'
        }
    )

显示400个错误请求。 任何人都可以帮助进行这种翻译。

由于

1 个答案:

答案 0 :(得分:0)

错误在下面的这一行

:data => {
   :username => 'xxxx',
   :password => 'xxxx',
   :grant_type => 'password'
},

您可以使用payload代替data,如下所示:

:payload => {
   :username => 'xxxx',
   :password => 'xxxx',
   :grant_type => 'password'
},

我希望能帮助你。