CardDAV 中的隐形联系人

Invisible contacts in CardDAV

问题

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

上下文

我需要从存储在 Communigate Pro server. Since CommuniGate supports CardDAV, I decided to use this protocol rather than exporting the contacts manually from their web client, Pronto 上的 70 个电子邮件帐户迁移联系人。

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

当我从 Web 客户端导出这些子组时,它们以名为 vCardGroup 的专有格式输出为 txt 文件。尽管我写了一个PHP脚本来将vCardGroup转换为vCard,但使用这种方法仍然很慢。

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

作为参考,请找到here the result of a PROPFIND request on the root of the CardDAV folder. Note that CommuniGate seems to implement CardDAV via http://calendarserver.org

感谢您的关注!

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

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

这样的协议

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

由于服务器管理员是个坏人,我将不得不使用 Web 客户端 Pronto 手动提取联系人。

以防万一有些可怜的人和我有同样的情况,我为我的脚本提供了一个 link 来转换专有的 vGroupCard 格式(即 BEGIN:VGROUP) 到标准 vCard 格式(即 BEGIN:VCARD)。