2013-03-16 86 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); 
相關問題