我正在尝试使用Google Contacts API
创建Google联系人。
根据Google doc(如下所示),我已经实现了创建功能。
要创建新联系人,请向用户的联系人供稿网址发送授权POST
请求,并在正文中显示联系人数据。
URL的格式为:
https://www.google.com/m8/feeds/contacts/{userEmail}/full
我使用此查询创建联系人:
www.google.com/m8/feeds/contacts/{userEmail}/full
但是,默认情况下会在组"Other Contact"
中创建新联系人。
如何在群组"My Contact"
中直接创建?
我是否需要修改查询?
答案 0 :(得分:0)
联系小组条目
可以将联系人放入用户定义的组中。你可以创建, 使用Contacts Data API检索,更新和删除这些组, 您可以将联系人添加到组或从组中删除联系人。 有关详细信息,请参阅以下部分。
Contacts Data API还提供对四个预定义“系统”的访问 “为每个用户分组:
我的联系人朋友家庭同事系统组出现在一个组中 像用户定义的组一样提供。实际上,系统组是 大部分都像其他团体一样对待。不同之处是:
每个系统组条目都包含一个子元素。 该子元素的id属性指示哪个系统组 群组是:联系人,朋友,家人或同事。注意我的 联系人ID值只是联系人,没有“我的”。另请注意 该系统组ID值与给定的组ID不同 在组条目的元素中。您无法添加新的系统组, 更改系统组的名称,将扩展属性添加到系统 组,或删除系统组。 *联系人群组 表示系统组不包含rel =“edit”链接。
答案 1 :(得分:0)
def get_group_id(label_name):
feed = gd_client.GetGroups()
for entry in feed.entry:
if entry.title.text.lower() == label_name:
return entry.id.text
contact_entry = gdata.contacts.data.ContactEntry() #contact_entry
group = get_group_id("My Contact") #group id
membership = gdata.contacts.data.GroupMembershipInfo(href=group) #group membership
contact_entry.group_membership_info.append(membership) # adding group membership to contact_entry
答案 2 :(得分:0)
联系人只能放入用户定义的组中,这是不正确的。我刚刚尝试使用Google Contact V3 API,并且能够在系统定义的组(我的联系人)下设置联系人:
ContactEntry contact = new ContactEntry();
Name name = new Name();
final String NO_YOMI = null;
name.setFullName(new FullName("Elizabeth Bennet", NO_YOMI));
name.setGivenName(new GivenName("Elizabeth", NO_YOMI));
name.setFamilyName(new FamilyName("Bennet", NO_YOMI));
contact.setName(name);
GroupMembershipInfo groupInfo = new GroupMembershipInfo();
//You can fetch the following link from GroupEntry#getId()
groupInfo.setHref("http://www.google.com/m8/feeds/groups/{EmailId}/base/{groupId}");
groupInfo.setDeleted(false);
contact.getGroupMembershipInfos().add(groupInfo);
ContactEntry createdContact = myService.insert(new URL(
"https://www.google.com/m8/feeds/contacts/{EmailId}/full"), contact);