在单独的GET调用中使用已解析的响应

时间:2019-05-07 18:02:53

标签: ruby httparty

我是Ruby和API的新手,所以我很抱歉,如果这很简单... 我需要具有一个脚本,该脚本将首先POST以启动创建导出文件,然后进行GET调用以检索该文件。 GET调用需要使用POST json响应的一部分。

我正在使用httparty宝石。

我认为我需要创建一个与解析后的json相等的变量,然后将该变量作为GET调用的一部分,但是我不清楚如何做到这一点。 感谢帮助。

require 'httparty'
url = 'https://api.somewhere.org'
response = HTTParty.post(url)
puts response.parse_response

json响应:

 export_files"=>
   {"id"=> #####,   
   "export_id"=> #####, 
   "status"=>"Queued"}}

在GET通话中,我需要在网址中使用export_id号。

HTTParty.get('https://api.somewhere.org/export_id/####')

1 个答案:

答案 0 :(得分:1)

如评论中所述,但更详细,更容易出错:

require 'httparty'
require 'json'

url = 'https://api.somewhere.org'
response = HTTParty.post(url)

if hash = JSON.parse(response.body)
  if export_id = hash[:export_files][:export_id]
    post = HTTParty.post("https://api.somewhere.org/export_id/#{export_id}")
  end
else
  # handle error 
end