3

我有一个 Zimbra 安装,我需要以编程方式更新其中的联系人。似乎它的 REST 接口仅用于添加新联系人,但我需要更新现有联系人。有没有办法,工具或其他东西,开源,可以做到这一点?

4

4 回答 4

2

好吧,我有一个问题的答案:您可以使用“zmmailbox”命令。在 Zimbra 系统用户下,可以修改邮箱中的内容。由于几乎所有内容都存储在 Zimbra 邮箱中,因此可以编辑联系人。我现在需要找到一种方法来使用它:

box$ zmmailbox help contact

  autoComplete(ac)             [opts] {query}
    -v/--verbose                 verbose output

  autoCompleteGal(acg)         [opts] {query}
    -v/--verbose                 verbose output

  createContact(cct)           [opts] [attr1 value1 [attr2 value2...]]
    -i/--ignore                  ignore unknown contact attrs
    -f/--folder <arg>            folder-path-or-id
    -T/--tags <arg>              list of tag ids/names

  deleteContact(dct)           {contact-ids}

  flagContact(fct)             {contact-ids} [0|1*]

  getAllContacts(gact)         [opts] [attr1 [attr2...]]
    -f/--folder <arg>            folder-path-or-id
    -v/--verbose                 verbose output

  getContacts(gct)             [opts] {contact-ids} [attr1 [attr2...]]
    -v/--verbose                 verbose output

  modifyContactAttrs(mcta)     [opts] {contact-id} [attr1 value1 [attr2 value2...]]
    -i/--ignore                  ignore unknown contact attrs
    -r/--replace                 replace contact (default is to merge)

  moveContact(mct)             {contact-ids} {dest-folder-path}

  tagContact(tct)              {contact-ids} {tag-name} [0|1*]
于 2008-10-12T17:07:36.973 回答
2

You can send SOAP to ZCS, the details are in soap.txt (located under /opt/zimbra/docs). To modify a contact see ModifyContactRequest. You'll need to authenticate first using AuthRequest. Tons of good Zimbra developer information is here: http://www.zimbra.com/forums/developers/

于 2009-12-21T02:31:38.887 回答
0

Zimbra 中实际上还有一个 SOAP 接口,但从我通过阅读zimbra.com/forums上的论坛了解到的情况来看,由于某种原因,他们“不能”(?!)正确记录它,也不能生成任何 WSDL 文件; 因此我从未使用过它。

显然,必须研究 Zimbra 的 Java 源代码才能看到可用的内容。

于 2008-10-15T13:20:50.767 回答
0

如果您最近安装了 Zimbra,您应该能够在 /opt/zimbra/docs 中找到 SOAP 文档。我自己还没有尝试过使用它……对我来说它仍然是希腊语。

马特

于 2009-04-17T02:25:42.247 回答