【问题标题】:Invisible contacts in CardDAVCardDAV 中的隐形联系人
【发布时间】:2016-02-02 09:50:12
【问题描述】:

问题

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

上下文

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

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

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

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

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

感谢您的关注!

【问题讨论】:

  • CardDAV 本身确实支持子组(组的成员可以是任何其他 vCard,包括组 vCard),但许多客户端不支持。也许这就是 CommuniGate 服务器没有在其 CardDAV 接口中公开这些内容的原因。不过,这不是您问题的答案,也许您应该将其标记为“CommuniGate”而不是 CardDAV - 它确实似乎是特定于 CG 的。
  • 感谢 hnh 的回复。您能否向我推荐一个支持此功能的 CardDAV 客户端?附言我尝试将问题标记为 CommuniGate,但我做不到,因为创建新标签需要 1000 个声望。
  • 我不知道哪些可以,也许没有,但 vCard 格式支持 :-) 无论如何它不会真正帮助你的情况。我的意思是,CGP 可能会故意禁用该功能以支持不支持嵌套组并且可能会中断的客户端(即最重要的那些:iOS 和 OSX)。
  • 谢谢 hnh。与此同时,我联系了 Communigate 支持,他们告诉我他们的 CardDAV 支持非常基础。他们建议我使用 XIMSS 协议。我会回答我自己的问题;谢谢你的帮助!

标签: webdav vcf-vcard carddav


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2013-06-10
    • 1970-01-01
    • 2023-02-02
    • 2012-01-06
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    相关资源
    最近更新 更多