如何通过Google Domain Shared Contacts API添加及管理外部联系人的群组
如何用gContact:groupMembershipInfo管理Google共享域联系人的群组
查看联系人的群组关联
拉取单个联系人的详情时,响应XML中会包含<gContact:groupMembershipInfo>节点,每个节点对应一个关联的群组:
href:指向该群组的Feed URL,末尾的字符串是群组唯一IDdeleted="true"(可选):标记该联系人已从这个群组移除(仅历史关联)
示例响应片段:
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:gContact="http://schemas.google.com/contact/2008"> <title>John Doe</title> <gd:email address="john@external.com" /> <!-- 其他联系人字段 --> <gContact:groupMembershipInfo href="https://www.google.com/m8/feeds/groups/your-domain.com/base/abc123" /> <gContact:groupMembershipInfo href="https://www.google.com/m8/feeds/groups/your-domain.com/base/def456" deleted="true" /> </entry>
给联系人添加群组
发送PUT请求到目标联系人的编辑URL(拉取联系人时返回的link rel="edit"对应的URL),在请求XML中添加<gContact:groupMembershipInfo>节点,指定目标群组的href:
- 必须保留联系人原有所有字段(如姓名、邮箱等),避免覆盖数据
- 若不知道群组的
href,可先调用域群组Feed接口(https://www.google.com/m8/feeds/groups/your-domain.com/base)获取所有群组的详情
请求体示例:
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:gContact="http://schemas.google.com/contact/2008"> <title>John Doe</title> <gd:email address="john@external.com" /> <!-- 保留其他原有字段 --> <gContact:groupMembershipInfo href="https://www.google.com/m8/feeds/groups/your-domain.com/base/abc123" /> </entry>
从群组移除联系人
有两种实现方式,按需选择:
- 标记式移除:在PUT请求的XML中,给对应群组的
<gContact:groupMembershipInfo>节点添加deleted="true"属性,会保留关联历史:<gContact:groupMembershipInfo href="https://www.google.com/m8/feeds/groups/your-domain.com/base/abc123" deleted="true" /> - 彻底移除:直接从请求XML中删除对应群组的
<gContact:groupMembershipInfo>节点,不会留下任何关联记录
注意:两种方式都需要确保请求体包含联系人的全部原有字段,防止丢失已存在的联系人数据
内容的提问来源于stack exchange,提问作者Mark
相关产品推荐
相关产品推荐

