Использование разобранного ответа в отдельном вызове GET - PullRequest
1 голос
/ 07 мая 2019

Я новичок в 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 response:

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

В моем вызове GET мне нужно использовать номер export_id в URL.

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

1 Ответ

1 голос
/ 08 мая 2019

Как описано в комментариях, но более подробный и скелет для ошибки:

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
...