我正在尝试使用Python中的Zimbra SOAP API以编程方式修改&清理我的联系人,但我开始时遇到了麻烦。
到目前为止我所拥有的是:
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,所以任何其他库的示例代码都会受到赞赏。
答案 0 :(得分:1)
我想向Python-Zimbra的方向点头,这是Zimbra的一个python库,它可以为你完成所有这些。
答案 1 :(得分:1)
还有一个更高级别的pythonic库:zimsoap。
使用原始SOAP或 python-zimbra 或 zimsoap 取决于您需要的灵活性/易用性级别(尽管我不建议直接使用SOAP,因为python-zimbra可以向zimbra发出任何可能的SOAP请求。