Интерполировать переменную в HTTParty POST Call - PullRequest
0 голосов
/ 14 марта 2019

Я пытаюсь отправить запрос на публикацию в Pardot Api на основе значений из CSV-файла. Я могу прочитать значения csv и назначить их переменным (id и список), но когда я пытаюсь сделать сообщение HTTParty и вставить переменные в запрос публикации, я получаю сообщение об ошибке:

URI должен быть только ascii «https://pi.pardot.com/api/prospect/version/4/do/update/id/\uFEFF114337534?list_179174=1&api_key=a19876543211234567&user_key=a12345678987654321" (URI :: InvalidURIError)

Вот полный скрипт, который я запускаю. Я поменял ключевые значения, но вы можете увидеть интерполированные переменные в строке URL. Из ошибки похоже, что переменная списка вставляется, но не переменная id.

Полный код

require 'csv'

require 'rubygems'

require 'httparty'


CSV.foreach('update_of_lists.csv') do |row|

  id = row[0]

  list = row[1]


HTTParty.post("https://pi.pardot.com/api/prospect/version/4/do/update/id/#{id}?list_#{list}=1&api_key=a1234567890&user_key=a1234543212345a")



end
...