Я хочу получить конкретный контакт и обновить его членство в группе. Я уже знаю собственную ссылку контакта. Чтобы получить конкретный контакт, в руководстве разработчика сказано сделать это:
// В примере предполагается, что объект 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 неправильных запросов) со строкой ответа:
«Информация о членстве в группе не поддерживается»
Что я делаю не так?
Я понял, что я делал неправильно...
При извлечении контакта я использовал свойство "Id", вместо свойства "Self".
Свойство "Id" имеет "базовую" проекцию, а свойство "Self" имеет "полную" проекцию.
Как только я переключился на использование "Self", все заработало правильно.