powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Получить список заявок из IntraService по API
2 сообщений из 2, страница 1 из 1
Получить список заявок из IntraService по API
    #39409160
Malegik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Только начинаю работать с 1С.
Поставлена задача получить список заявок в 1С из хелпдеска.
При запросе из браузера ( http://helpdesk/api/task) возвращает файл с запрошенными данными без проблем.

При запросе из 1С получаем сообщение:
"Удачно выполнен GET запрос!"
и возвращает файл с сообщением:
"{"Message":"Authorization has been denied for this request."}"

В спецификации апи пишут:
Авторизация
В IntraService API используется базовая авторизация.
В заголовке каждого запроса передается логин и пароль пользователя IntraService.
Запросы выполняются в соответствии с полномочиями указанного пользователя.
Общий вид и типы запроса.
Общий вид запроса:
http(s)://{site}/api/{resource}/{id}
Операция, выполняемая в запросе,
определяется типом запроса:
GET–получение

POST –создание

PUT –изменение

DELETE –удаление (в настоящее время не реализовано)
Для запросов типа GET и POST часть {id} (идентификатор) является необязательной.
Для GET-запросов, если параметр {id}:
• отсутствует, то возвращается коллекция ресурсов;
• присутствует, то в ответе возвращается конкретный ресурс с указанным id.

Написал такой код:

&НаКлиенте
Процедура ВыполнитьЗапрос(Команда)

ПроксиСервер = Новый интернетПрокси;
ПроксиСервер.Пользователь = "логин";
ПроксиСервер.Пароль = "пароль";
ПроксиСервер.Установить("http","10.2.0.1",3182,,,Истина);
Пароль = Base64Строка("логин:пароль");

ЗаголовокGET = Новый Соответствие();
ЗаголовокGET.Вставить("Authorization",Пароль);

Соединение = Новый HTTPСоединение(СерверДляЗапроса,,,,ПроксиСервер,,,Истина);

HTTPЗапрос = Новый HTTPЗапрос(ТекстДляЗапроса,ЗаголовокGET);

Соединение.Получить(HTTPЗапрос,ФайлРезультата);
Сообщить("Удачно выполнен GET запрос!");

КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

СерверДляЗапроса = "helpdesk";
ТекстДляЗапроса = "/api/task";
ФайлРезультата = "C:\1\1.txt";

КонецПроцедуры

Подскажите пожалуйста в какую сторону "копать"?
...
Рейтинг: 0 / 0
Получить список заявок из IntraService по API
    #39411409
Vvche69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Malegik,

Попробуйте логин и пароль передавать как параметры в конструктор HTTPСоединение, а в HTTPЗапрос заголовки не формировать вообще:

ЗапросWeb = Новый HTTPЗапрос("/api/task");
СоединениеWeb = Новый HTTPСоединение(СерверДляЗапроса,,Логин,Пароль,ПроксиСервер,,,Истина);
ОтветWeb = СоединениеWeb.Получить(ЗапросWeb);
(как-то так)

Кстати, ваш прокси-сервер нормально сквозь себя все это пропускает?

Я бы еще посмотрел предварительно через SOAPui, как запросы проходят.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Получить список заявок из IntraService по API
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]