如何从Rails应用程序执行curl

问题描述 投票:0回答:1

[嗨,我正在尝试为我的Rails应用程序创建一个付款模块,并进行汇总。这是我使用RestClient尝试提供的其余api,但它重现了400个错误的请求。

curl -X POST \
  https://api.sumup.com/token \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'grant_type=client_credentials'\
  -d 'client_id=**Client_ID**'\
  -d 'client_secret=**Client_Secret**'

这是我的restclient方法的样子:

RestClient::Request.execute(
method: :post, 
url: "https://api.sumup.com/token",
data: "grant_type=client_credentials&client_id=**CLIENT_ID**&client_secret=**Client_Secret**",
headers: { "Accept" => "application/json", "Content-Type" => "application/x-www-form-urlencode" }
)

我做错什么了吗?

ruby-on-rails curl rest-client
1个回答
0
投票

您不需要手动对参数进行形式编码,这很可能是错误来源。

RestClient.post(
  "https://api.sumup.com/token",
  {
     grant_type: "client_credentials"
     client_id: "**CLIENT_ID**"
     client_secret: "**Client_Secret**"
  },
  { 
    accept: "application/json", 
    content_type: "application/x-www-form-urlencode" 
  }
)
© www.soinside.com 2019 - 2024. All rights reserved.