根据联系人ID检索Google联系人

时间:2014-05-16 13:54:32

标签: c# google-contacts

当我发出联系人请求以获取所有用户的联系人时,我会收到表单中的联系人ID:

http://www.google.com/m8/feeds/contacts/sometestaccount%40gmail.com/base/4f822c758a541b6b

阅读谷歌联系人api 3.0我有点困惑我应该用什么来删除联系人。 这样做的:

var cr = new ContactsRequest(settings);
var uri = new Uri("http://www.google.com/m8/feeds/contacts/sometestaccount%40gmail.com/base/4f822c758a541b6b");
var contact = cr.Retrieve<Contact>(uri);
cr.Delete(contact);

失败
Google.GData.Client.GDataRequestException : Execution of request returned unexpected result: http://www.google.com/m8/feeds/contacts/sometestaccount%40gmail.com/base/4f822c758a541b6b?max-results=50MovedPermanently

获取联系人ID和请求删除联系人的正确方法是什么? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

我对此做了一些研究,发现了2个错误。

1)我得到了一个&#34;永久移动,因为我在http中发出了我的请求,我应该在https中完成。

2)uri格式严格:

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

我有setting.Pagesize = 50,这导致我的uri

https://www.google.com/m8/feeds/contacts/{userEmail}/full/{contactId}?max-results=50

无效并返回400错误请求。

联系人ID是您从contact.Id结果uri获取的哈希码。检索联系人条目后,删除操作将在google api contacts v3.0中记录。