|
Получить список заявок из IntraService по API
|
|||
---|---|---|---|
#18+
Добрый день! Только начинаю работать с 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"; КонецПроцедуры Подскажите пожалуйста в какую сторону "копать"? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2017, 14:31 |
|
Получить список заявок из IntraService по API
|
|||
---|---|---|---|
#18+
Malegik, Попробуйте логин и пароль передавать как параметры в конструктор HTTPСоединение, а в HTTPЗапрос заголовки не формировать вообще: ЗапросWeb = Новый HTTPЗапрос("/api/task"); СоединениеWeb = Новый HTTPСоединение(СерверДляЗапроса,,Логин,Пароль,ПроксиСервер,,,Истина); ОтветWeb = СоединениеWeb.Получить(ЗапросWeb); (как-то так) Кстати, ваш прокси-сервер нормально сквозь себя все это пропускает? Я бы еще посмотрел предварительно через SOAPui, как запросы проходят. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2017, 09:52 |
|
|
start [/forum/topic.php?fid=28&tid=1518589]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
148ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 241ms |
total: | 479ms |
0 / 0 |