Использование Zimbra SOAP API в Python

Я пытаюсь использовать Zimbra SOAP API из Python для программного изменения и очистки моих контактов, но у меня возникают проблемы с началом работы.

То, что я до сих пор это:

from SOAPpy import SOAPProxy
url = 'https://zimbra/service/soap'
auth = {"account": "xxxxx", "password": "xxxxx"}

zimbra = SOAPProxy(url, 'urn:zimbra')
zimbraAuth = SOAPProxy(url, "urn:zimbraAccount")
zimbraMail = SOAPProxy(url, "urn:zimbraMail")

response = zimbraAuth.AuthRequest(**auth)
authToken = response.authToken 

Я успешно вошел в систему, но не могу пройти authToken в дальнейших запросах.

Я понимаю, что любой zimbraMail запросы должны иметь заголовок в urn:zimbra пространство имен с установленным там authToken, но, будучи новичком в SOAP, я понятия не имею, как это сделать.

Я не женат на использовании SOAPpy, поэтому любой пример кода для другой библиотеки был бы хорошо оценен.

2 ответа

Существует также более высокий уровень и питонная библиотека: зимсоап.

Использование сырого SOAP, python-zimbra или zimsoap зависит от того, какой уровень гибкости / простоты вам нужен (хотя я не буду предлагать использовать SOAP напрямую, так как python-zimbra может выдать любой возможный SOAP-запрос к zimbra.

Я хотел бы кивнуть в сторону Python-Zimbra, библиотеки Python для Zimbra, которая делает все это для вас.

Другие вопросы по тегам