在 vCard 4.0 RFC 6350 中,我在 MEMBER 属性描述中看到以下示例,这是 vCard 组的示例:
BEGIN:VCARD
VERSION:4.0
KIND:group
FN:The Doe family
MEMBER:urn:uuid:03a0e51f-d1aa-4385-8a53-e29025acd8af
MEMBER:urn:uuid:b8767877-b4a1-4c70-9acc-505d3819e519
END:VCARD
BEGIN:VCARD
VERSION:4.0
FN:John Doe
UID:urn:uuid:03a0e51f-d1aa-4385-8a53-e29025acd8af
END:VCARD
BEGIN:VCARD
VERSION:4.0
FN:Jane Doe
UID:urn:uuid:b8767877-b4a1-4c70-9acc-505d3819e519
END:VCARD
据我了解,上述示例中的联系人和组都存储并作为单个 vCard 文件(或单个 CardDAV 请求/回复)提供。
电子名片文件或 CardDAV 请求/回复是否可以包含多个不属于该组的 vCard 联系人。例如像这样:
BEGIN:VCARD
VERSION:4.0
FN:John Doe
END:VCARD
BEGIN:VCARD
VERSION:4.0
FN:Jane Doe
END:VCARD
?
vCard 4 实体可以包含一组 vCard,请查看 RFC 6350 ABNF:
电子名片实体 = 1*电子名片
一个或多个,类型无关紧要。
但你也在问CardDAV。在CardDAV中,每个vCard总是在单独的HTTP资源中/资源永远不应该包含vCard流。检查 RFC 6352 地址对象资源:
地址簿集合中包含的地址对象资源必须仅包含单个 vCard 组件。
这包括组(CardDAV 中的 vCard 组是自己的资源,不包含成员)。
如果要在单个步骤中检索多个 CardDAV 资源,请使用多获取或地址簿查询报表。