Я создал тело для запроса PUT с Ruby.Когда я распечатываю тело, я не вижу никаких проблем.Но когда я пытаюсь распечатать тело из фактического запроса PUT, я получаю сообщение об ошибке.
Чтобы уточнить, вот мой код:
@data={param1: "nameserver",
param2: {code: "XYZ", name: "NAME", start: "2017"}}
puts "data = #{@data} " #This works fine
@putResponse = HTTParty.put(base_url,
:body => @data.to_json,
:headers => header)
puts "putResponse.body is #{@putResponse.body}" #This is where I get the error
Итак, как вы можете видеть,линия puts "data = #{@data} "
работает нормально.Он печатает
data = {:param1=>"nameserver", :param2=>{:code=>"XYZ", :name=>"NAME", :start=>"2017"}}
Но строка с puts "putResponse.body is #{@putResponse.body}"
не работает.Вот что он печатает:
putResponse.body is {"errors":[{"message":"The specified resource does not exist."}],"error_report_id":443}
Так в чем здесь проблема?(Я использую HTTParty, чтобы сделать мой запрос PUT)
РЕДАКТИРОВАТЬ:
Вот как я получил хост и заголовок:
config = JSON.parse(File.read('config.json'))
puts "config: #{config}"
access_token = config['canvas']['access_token']
puts "access_token: #{access_token}"
host = config['canvas']['host']
puts "host: #{host}"
base_url = 'http://#{host}/api/v1/users/self/custom_data/program_of_study'
puts "base_url: #{base_url}"
header = {'Authorization': 'Bearer ' "#{$access_token}", "Content-Type" => 'application/json', 'Accept' => 'application/json'}