Вызов внешнего API через Коннектор HTTP
Сценарий. Получить данные о пользователе из GitHub API и обработать результат в 1С.
Код
Функция ПолучитьИнформациюОПользователеGithub(ИмяПользователя)
URL = "https://api.github.com/users/" + ИмяПользователя;
Заголовки = Новый Структура;
Заголовки.Вставить("Accept", "application/vnd.github.v3+json");
Заголовки.Вставить("User-Agent", "1C-Enterprise");
Результат = УИ_КоннекторHTTP.GetJson(URL, , Заголовки, 30);
Если Результат.КодСостояния = 0 Тогда
ВызватьИсключение "Ошибка соединения: " + Результат.Ошибка;
КонецЕсли;
Если Результат.КодСостояния = 200 Тогда
Данные = Результат.Данные;
Информация = Новый Структура;
Информация.Вставить("Логин", Данные.login);
Информация.Вставить("Имя", Данные.name);
Информация.Вставить("Компания", Данные.company);
Информация.Вставить("Репозитории", Данные.public_repos);
Информация.Вставить("Подписчики", Данные.followers);
Возврат Информация;
Иначе
ВызватьИсключение "Ошибка HTTP " + Результат.КодСостояния + ": " + Результат.ТелоКакСтрока();
КонецЕсли;
КонецФункции
Процедура ПримерВызова()
ДанныеПользователя = ПолучитьИнформациюОПользователеGithub("cpr1c");
Сообщить("Пользователь: " + ДанныеПользователя.Логин);
Сообщить("Репозиториев: " + ДанныеПользователя.Репозитории);
Сообщить("Подписчиков: " + ДанныеПользователя.Подписчики);
КонецПроцедуры
Обработка ошибок
Результат = УИ_КоннекторHTTP.Get("https://api.example.com/data");
Если Результат.КодСостояния = 0 Тогда
Сообщить("Сервер недоступен: " + Результат.Ошибка);
ИначеЕсли Результат.КодСостояния <> 200 Тогда
Сообщить("Ошибка API: код " + Результат.КодСостояния);
Иначе
Сообщить("Успешно: " + Результат.ТелоКакСтрока());
КонецЕсли;
Связанные разделы
- Коннектор HTTP API — полное описание методов
- Консоль HTTP — интерактивная работа с запросами