Вопрос

odata python

Коллеги, привет!

 

Есть у кого опыт получения данных по odata с помощью python?

Опробовал 3 библиотеки pyslet и ещё 2 каких-то, но судя по всему не пробивает авторизацию. Во всяком случае pyslet  ругается именно на это, а 2 другие не ругаются, но и не делают ничего.

 

Нужен какой-то простенький реально работающий пример авторизации и получения данных, например контрагентов или чего угодно.

Нравится

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 вручную парсить.

Показать все комментарии