Коллеги, привет!
Есть у кого опыт получения данных по odata с помощью python?
Опробовал 3 библиотеки pyslet и ещё 2 каких-то, но судя по всему не пробивает авторизацию. Во всяком случае pyslet ругается именно на это, а 2 другие не ругаются, но и не делают ничего.
Нужен какой-то простенький реально работающий пример авторизации и получения данных, например контрагентов или чего угодно.
Нравится
Добрый день, Vadim!
К сожалению примера на python нет. Но разве есть существенная разница на каком языке реализовывать интеграцию, главное что бы приходил корректный запрос на EntityDataService.svc.
Могу порекомендовать следующее: Отловить отправляемый запрос на bpm при помощи Fiddler. И убедиться в том что приходи корректный запрос в систему. (Примеры по работе с Fiddler есть тут: https://academy.terrasoft.ru/documents/technic-sdk/7-11/vypolnenie-zapr…)
Также, хочу обратить внимание что если на сайте включена защита от csrf-атак (https://academy.terrasoft.ru/documents/technic-sdk/7-11/zashchita-ot-cs…), то хедер следующего запроса после Login должен выглядеть следующим образом:
Accept: application/atom+xml Content-Type: application/atom+xml;type=entry BPMCSRF: YXqOrnIQYFCazfTbuMt0au Cookie: BPMLOADER=j1pihecus2gfujc11b1wj1qu; .ASPXAUTH=7BDC7B85068FD9AF09....; BPMCSRF=YXqOrnIQYFCazfTbuMt0au; Host: bpmonline.bpmonline.com Content-Length: 360
Tsopa,
Согласен. Получилось всё сделать через обычный get-запрос, единственное - приходится xml вручную парсить.