Ruby on rails 我该如何设置此“进入路边”的格式?

Ruby on rails 我该如何设置此“进入路边”的格式?,ruby-on-rails,curb,Ruby On Rails,Curb,我正在尝试使用某人的API检索数据。这里有一个简单的卷发,效果很好: $ curl -H 'Authorization: Bearer eyJhbGciOiJSUz...' 'https://app.theirsite.com/api/web/call/call-log?q=\{"pageSize":25,"pageIndex":1,"sortBy":"timeConnected","sortDirection":2,"userAccountId":0,"requestorId":0,"comp

我正在尝试使用某人的API检索数据。这里有一个简单的卷发,效果很好:

$ curl -H 'Authorization: Bearer eyJhbGciOiJSUz...' 'https://app.theirsite.com/api/web/call/call-log?q=\{"pageSize":25,"pageIndex":1,"sortBy":"timeConnected","sortDirection":2,"userAccountId":0,"requestorId":0,"companyAccountId":99,"consumerId":null,"ticksSince":636959988000000000,"ticksUntil":636966899990000000,"callStatusId":1\}'
注意转义的括号

我不能让它在有路缘的轨道上工作。我尝试了各种方法来格式化url中“?”后面的参数,但没有成功。这是我最后一次尝试:

params = {"pageSize": 25,
          "pageIndex": 1,
          "sortBy": "timeConnected",
          "sortDirection": 2,
          "userAccountId": 0,
          "requestorId": 0,
          "companyAccountId": 99,
          "consumerId": nil,
          "ticksSince": 636959988000000000,
          "ticksUntil": 636966899990000000,
          "callStatusId": 1}


params_str = JSON[params].to_s
params_str.insert( -2, '\\')

response = Curl.get("https://app.theirsite.com/api/web/call/call-log?q=\\" + params_str ) {|curl|
               curl.headers['Authorization'] = 'Bearer ' + @saved.token
               curl.verbose = true}
授权没有问题,但他们的服务器响应时出现500个错误{“全局”:[“索引超出了数组的界限。”]}。这就是在我发现我需要转义括号之前,使用directcurl命令得到的结果。在发送之前,我还没有弄清楚如何让curb提供完整url的输出。那会有帮助的


任何想法。

好的,没有答案,但我最终放弃了路缘,转而使用Ruby的net/http

使用上面的参数,它看起来像:

uri = URI.parse("https://app.theirsite.com/api/web/call/call-log?q=" + JSON[params])
request = Net::HTTP::Get.new(uri)
request["Authorization"] = 'Bearer ' + @saved.token

req_options = {
  use_ssl: uri.scheme == "https",
}

response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
  http.request(request)
end
稍长一点,但没有转义字符,现在一切正常