0

问题

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

语境

我需要从Communigate Pro服务器上存储的 70 个电子邮件帐户迁移联系人。由于 CommuniGate支持 CardDAV,我决定使用此协议,而不是从他们的 Web 客户端Pronto手动导出联系人。

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

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

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

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

感谢您的关注!

4

1 回答 1

1

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

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

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

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

以防万一有些可怜的灵魂处于同样的境地,我提供了一个指向我的脚本的链接,以将专有的vGroupCard格式(即。BEGIN:VGROUP)转换为标准的vCard格式(即。BEGIN:VCARD)。

于 2016-02-04T16:07:39.500 回答