У меня есть API, к которому я подключаюсь, и в соответствии с документацией я предполагаю получить login_token из моего 1-го вызова API. Я устанавливаю метод инициализации с помощью httparty, и я получаю токен, но я не уверен, как разместить его в моем методе инициализации или почему я не могу правильно его проанализировать.
Вот способ инициализации:
def initialize(username,password)
@username = username
@password = password
@login_token = login_token
get_token(self.class.post("/login/", body: {username: username, password: password}).parsed_response)
end
Также вот созданный мной метод get_token, который должен получить токен:
def get_token
if response ['success'] == 'true'
login_token = @login_token
else
raise "Code: #{response["message"]}"
end
end
Я получаю такой ответ:
reading all...
-> "{\n \"login_token\": \"...token...\", \n \"success\": true\n}"
read 99 bytes
Conn close
MultiXml::ParseError: Start tag expected, '<' not found
Я думаю, что моя ошибка связана с частью parsed_response в методе инициализации. Есть идеи о том, что не так и как я могу поместить этот токен в свой метод?
-РЕДАКТИРОВАТЬ-
Вверху этого файла я изменил
format :xml
to
format :json
Теперь моя ошибка в моем методе get_token. Кажется, он неправильно прочитал ответ.