2013-03-16 49 views
1

我正在尝试使用Google Contacts API创建Google联系人。 根据谷歌doc(如下),我已经实现了创建功能。如何使用Google API创建Google联系人

Google Docs Creating contacts

要创建新的联系人,发送授权POST请求用户的联系人供稿网址与身体接触的数据。 的URL的形式为:

https://www.google.com/m8/feeds/contacts/{userEmail}/full 

我用这个查询创建联系人:

www.google.com/m8/feeds/contacts/{userEmail}/full 

然而,在组"Other Contact"默认情况下创建新的联系人。

我该如何直接创建组"My Contact"

我是否需要修改查询?

回答

0

从DOC(https://developers.google.com/google-apps/contacts/v3/?csw=1#authorizing_requests_to_the_api_name_service):

联系组条目

联系人可以被放置到用户定义的组。您可以使用联系人数据API 创建, 检索,更新和删除这些组,您可以将联系人添加到组或从组中删除联系人。 有关详细信息,请参阅以下各节。

的联系人数据API还提供了访问四个预定义的“系统 组”为每个用户:

我的联系人朋友家庭同事体系组出现在一个组 饲料就像用户定义的组办。实际上,系统组 的处理方式与其他组一样。差异如下:

每个系统组条目都包含一个子元素。 该子元素的id属性指示 组是哪个系统组:Contacts,Friends,Family或Coworkers。请注意,我的 联系人ID值仅仅是联系人,没有“我的”。还请注意 此系统组ID值与组条目元素中给定的组号 不同。您不能添加新的系统组, 更改系统组的名称,将扩展属性添加到系统 组或删除系统组。 *表示系统组的联系人组条目 不包含rel =“edit”链接。

+0

我做下投这个答案,因为我能找到MOT实际的答案。 – shashank 2016-05-22 14:05:56

+0

“我的联系人”是预定义的“系统组”。您需要将联系人添加到该组。 https://developers.google。com/google-apps/contacts/v3 /?csw = 1#changing_group_membership – 2017-09-20 15:56:56

+0

终于开始写博客文章了解如何做到这一点:https://aaron-hoffman.blogspot.com/2018/01/create-谷歌接触-API-我的联系人系统,group.html – 2018-01-12 20:20:27

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 
0

它不是真正的接触只能被放置到用户定义的组。我只是尝试与谷歌联系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); 
相关问题