CardDAV中的隐形联系人

时间:2016-02-02 09:50:12

标签: webdav vcard carddav

问题

如何访问CommuniGate Pro服务器上的所有联系人?

上下文

我需要从存储在Communigate Pro服务器上的70个电子邮件帐户迁移联系人。自CommuniGate supports CardDAV起,我决定使用此协议,而不是从其网络客户端Pronto手动导出联系人。

我已设法访问CardDAV文件夹并提取其中包含的vCard。然而,问题是并非所有联系人都出现在CardDAV中;特别是,Web客户端包含在CardDAV中不可见的联系人子组。

当我从Web客户端导出这些子组时,它们以txt文件的形式输出,称为vCardGroup。即使我编写了一个PHP脚本来将vCardGroup转换为vCard,使用这种方法仍然非常慢。

如果您建议以编程方式提取这些联系人子组的方法,我将不胜感激。我知道CardDAV不支持子组,所以我想最大的问题是:这些txt文件存储在哪里?

作为参考,请在CardDAV文件夹的根目录中找到here PROPFIND请求的结果。请注意,CommuniGate似乎通过http://calendarserver.org实现了CardDAV。

感谢您的关注!

1 个答案:

答案 0 :(得分:1)

在联系Communigate Pro(CGP)支持团队后,我能够回答我自己的问题:

从Communigate Pro服务器以编程方式提取联系人的唯一方法是拥有对服务器的root访问权限并使用XIMSS之类的协议。

他们还告诉我,CGP对CardDAV的支持是有限的,并且不包括子组。

由于服务器管理员是一个邪恶的人,我将不得不使用网络客户端Pronto手动提取联系人。

为了防止一些可怜的灵魂处于同样的情况,我向我的脚本提供link以将专有的 vGroupCard 格式(即BEGIN:VGROUP)转换为标准 vCard 格式(即BEGIN:VCARD)。