Как обновить членство в группе одного контакта с Google Contact API и .NET? - PullRequest
1 голос
/ 15 августа 2010

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

// В примере предполагается, что объект 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 неверных запросов) со строкой ответа:

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

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

1 Ответ

2 голосов
/ 15 августа 2010

Я понял, что я делаю неправильно ...

При получении контакта я использовал свойство "Id" вместо свойства "Self".

Свойство «Id» имеет проекцию «base», а свойство «Self» - проекцию «Full».

Как только я переключился на "Self", он работал правильно.

...