在Python中使用Zimbra SOAP API

时间:2010-02-08 16:10:24

标签: python soap zimbra

我正在尝试使用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,所以任何其他库的示例代码都会受到赞赏。

2 个答案:

答案 0 :(得分:1)

我想向Python-Zimbra的方向点头,这是Zimbra的一个python库,它可以为你完成所有这些。

答案 1 :(得分:1)

还有一个更高级别的pythonic库:zimsoap

使用原始SOAP或 python-zimbra zimsoap 取决于您需要的灵活性/易用性级别(尽管我不建议直接使用SOAP,因为python-zimbra可以向zimbra发出任何可能的SOAP请求。