Получаю данные с сайта 4logist.com в 1С 7.7 (7.70.027, нетиповая Бухгалтерия).
По документации:
Авторизация и получение token
Пример получения access_token и refresh_token
http POST {domain}/oauth/v2/token grant_type=password client_id={you_key} client_secret={secret} username={login_in_system} password={password_in_system}
При корректном запросе в ответ придет json
"access_token": "{access_token}",
"expires_in": 3600,
"refresh_token": "{refresh_token}",
"scope": null,
"token_type": "bearer"
Данный этап отрабатывает без проблем:
Процедура ОтправитьЗапросТокена(Сервер)
Соединение = СоздатьОбъект("Msxml2.ServerXMLHTTP.6.0");
Соединение.Open("POST",Сервер+"oauth/v2/token?grant_type=password&client_id="
+СокрЛП(you_key)
+"&client_secret="
+СокрЛП(secret)
+"&username="
+СокрЛП(login_in_system)
+"&password="
+СокрЛП(password_in_system)
);
Соединение.Send();
Ответ = Соединение.ResponseText();
СохранениеОтвета = СоздатьОбъект("Adodb.Stream");
СохранениеОтвета.Type = 2;
СохранениеОтвета.Mode = 3;
СохранениеОтвета.charset="utf-8";
СохранениеОтвета.Open();
СохранениеОтвета.WriteText(Ответ);
СохранениеОтвета.SaveToFile(ФайлТокена,2);
СохранениеОтвета.Close();
КонецПроцедуры
По документации:
Пример получения данных о заказе
http POST {domain}/api/orders/list limit=1 sort=asc "Authorization:Bearer {access_token}"
Данный код без параметров отрабатывает:
Процедура ОтправитьЗапросЗаказа(СписокТокена, Ресурс, Фильтр, ДопДанные="")
Путь = Ресурс + Фильтр;
СтрокаТокен = "Bearer " + СписокТокена.Получить("access_token");
Соединение = СоздатьОбъект("Msxml2.ServerXMLHTTP");
Соединение.Open("POST", Путь, 0);
//Соединение.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
Соединение.setRequestHeader("Authorization", СтрокаТокен);
Соединение.Send();
Ответ = Соединение.ResponseText();
//Текст = СоздатьОбъект("Текст");
//Текст.ДобавитьСтроку(Ответ);
//Текст.Записать(ФайлОтвета);
СохранениеОтвета = СоздатьОбъект("Adodb.Stream");
СохранениеОтвета.Type = 2;
СохранениеОтвета.Mode = 3;
СохранениеОтвета.charset = "utf-8";
СохранениеОтвета.Open();
СохранениеОтвета.WriteText(Ответ);
СохранениеОтвета.SaveToFile(ФайлОтвета,2);
СохранениеОтвета.Close();
КонецПроцедуры
Но в Ответе содержится текст в такой кодировке:
Цитата
"order_code_referral":"58 \u043e\u0442 01.03.2019"
Пробовал устанавливать различные заголовки - не помогло.
Подскажите, каких данных не хватает для правильной кодировки ответа?