как обновить членство в группе одного контакта с помощью Google Contact API и .NET?

Я хочу получить определенный контакт и обновить его членство в группе. Я уже знаю личную ссылку контакта. Чтобы получить конкретный контакт, в руководстве разработчика говорится:

//В примере предполагается, что объект ContactRequest (cr) уже настроен.

Contact c = cr.Retrieve<Contact>("http://www.google.com/m8/feeds/contacts/liz%40gmail.com/full/12345");

но когда я компилирую это, я получаю сообщение об ошибке:

Аргумент 1: невозможно преобразовать из "строки" в "Google.Contacts.Contact"

Если я изменю его на:

Contact c = cr.Retrieve<Contact>(new Uri("http://www.google.com/m8/feeds/contacts/liz%40gmail.com/full/12345"));

затем он компилируется и, кажется, извлекается нормально, но я не могу обновить членство в группе контакта:

c.GroupMembership.Add(member2);
cr.Update(c);

поскольку строка cr.Update(c) генерирует исключение GDataRequestException (400 Bad Request) со строкой ответа:

"Информация о членстве в группе не поддерживается"

Что я делаю не так?


person Mark    schedule 15.08.2010    source источник


Ответы (1)


Я понял, что я делаю не так...

При получении контакта я использовал свойство «Идентификатор» вместо свойства «Я».

Свойство «Id» имеет «базовую» проекцию, а свойство «Self» имеет «полную» проекцию.

Как только я переключился на использование «Я», все заработало правильно.

person Mark    schedule 15.08.2010