Использование 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, которая делает все это для вас.