导出和导入 Vcard

Posted

技术标签:

【中文标题】导出和导入 Vcard【英文标题】:Exporting and importing Vcard 【发布时间】:2011-08-07 07:36:53 【问题描述】:

我想允许用户将他们的联系人(电子邮件)导入我的 php 应用程序。我正在考虑 vcard 格式,因为大多数手机都允许导出 vcard。现在我有一些疑问

    iphone、android、blackberry、symbian 是否允许导出为 vcard,并且所有的 vcard 格式都相同。

    您也可以导出 Gmail 联系人电子名片,格式相同

    你可以将苹果邮件、outlook、雷鸟联系人导出为电子名片

【问题讨论】:

【参考方案1】:

我认为如果他们遵守标准(不能确定没有足够幸运拥有所有这些设备),那么是的,他们应该导出相同的标准。

来自http://en.wikipedia.org/wiki/VCard

以下是包含一个人信息的 VCard 文件示例:

vCard 2.1:

BEGIN:VCARD
VERSION:2.1
N:Gump;Forrest
FN:Forrest Gump
ORG:Bubba Gump Shrimp Co.
TITLE:Shrimp Man
TEL;WORK;VOICE:(111) 555-1212
TEL;HOME;VOICE:(404) 555-1212
ADR;WORK:;;100 Waters Edge;Baytown;LA;30314;United States of America
LABEL;WORK;ENCODING=QUOTED-PRINTABLE:100 Waters Edge=0D=0ABaytown, LA 30314=0D=0AUnited States of America
ADR;HOME:;;42 Plantation St.;Baytown;LA;30314;United States of America
LABEL;HOME;ENCODING=QUOTED-PRINTABLE:42 Plantation St.=0D=0ABaytown, LA 30314=0D=0AUnited States of America
EMAIL;PREF;INTERNET:forrestgump@example.com
REV:20080424T195243Z
END:VCARD

vCard 3.0:

BEGIN:VCARD
VERSION:3.0
N:Gump;Forrest
FN:Forrest Gump
ORG:Bubba Gump Shrimp Co.
TITLE:Shrimp Man
PHOTO;VALUE=URL;TYPE=GIF:http://www.example.com/dir_photos/my_photo.gif
TEL;TYPE=WORK,VOICE:(111) 555-1212
TEL;TYPE=HOME,VOICE:(404) 555-1212
ADR;TYPE=WORK:;;100 Waters Edge;Baytown;LA;30314;United States of America
LABEL;TYPE=WORK:100 Waters Edge\nBaytown, LA 30314\nUnited States of America
ADR;TYPE=HOME:;;42 Plantation St.;Baytown;LA;30314;United States of America
LABEL;TYPE=HOME:42 Plantation St.\nBaytown, LA 30314\nUnited States of America
EMAIL;TYPE=PREF,INTERNET:forrestgump@example.com
REV:20080424T195243Z
END:VCARD

vCard 标准的 2.1 版得到电子邮件客户端的广泛支持。 vCard 格式的 3.0 版是 IETF 标准跟踪提案,包含在 RFC 2425 和 RFC 2426 中。

【讨论】:

【参考方案2】:

ios 提供任何机制来访问移动 Safari 中的联系人数据库。批量导出联系人的唯一方法是通过本机应用程序。

一种非常从 iOS 一次导出联系人的复杂方法是​​通过电子邮件。 iOS 让用户可以轻松地将 .vcard 文件作为电子邮件附件发送。

工作流程可以这样进行:

    让用户选择通过电子邮件导出联系人 为您服务器上的用户生成唯一的电子邮件地址。 类似于 flickr 的电子邮件地址的帖子 和其他人提供的东西类似于contacts-export+[unique string]@exmple.com 指示用户将所述电子邮件地址添加到 iOS 联系人数据库 (点击并按住电子邮件地址 -> Create New Contact) 指示用户打开“联系人”应用找到他们希望导出的联系人并为每个联系人选择Share Contact -> Email -> 发送到之前保存的电子邮件地址知识库> 创建一个 cron 作业以定期检查和处理这些传入消息

对于最终用户和开发人员来说,这一切似乎都需要做很多工作。话虽这么说,如果您的用户足够精明,可以处理复杂的工作流程,那么对于一次性联系人导出来说,它肯定比复制/粘贴要方便得多,尤其是对于任何只有一个或两个以上相关字段的联系人。

我不确定 Android、Blackberry 等在导出方面支持什么。

【讨论】:

以上是关于导出和导入 Vcard的主要内容,如果未能解决你的问题,请参考以下文章

手机上csv如何改为vcard

使用适用于 Android 的 ez-vcard 库导入 VCard 文件

将所有联系人导出到 VCF (vcard) 文件 Windows phone

手机通讯录恢复

EasyPoi的导入和导出功能

EasyPoi的导入和导出功能