Как сделать частичное обновление контактов с помощью Google API API -клиента?

StackOverflow https://stackoverflow.com/questions/4689477

Вопрос

Я использую легкий клиент Google API Java для изменения контактов.

Есть несколько образцов для API, показывающих, как делать частичные обновления (т.е. через патч HTTP), но контакты Google, в частности, не поддерживают патч. Документы также указывают, что контакты обновления, выполненные с помощью необходимости включения полной информации о контакте, поскольку любые существующие данные, опущенные в запросе POT, будут удалены из контакта.

Итак, какова самая простая процедура для чтения контакта, изменить его данные и обновить его? У клиента API есть это приятное AtomParser Это получает ответ от HTTP GET -запроса и населяет участников в моем классе, но если мой класс не содержит все возможные поля, которые мог бы иметь контакт, я мог бы не читать во всех данных и как таковые данные во время пута HTTP.

Я предполагаю, что мне придется пропустить все прохладные колдовства AtomParser и просто использовать простой старый анализатор XML, чтобы прочитать входящий канал, извлечь необходимую информацию, а затем сделать его HTTP. Но это кажется немного абсурдно, учитывая все функциональные возможности, клиент API. Есть ли способ лучше?

Я тайно надеюсь, что есть эквивалент этого:

HttpRequest request = transport.buildPatchRequest();
request.setUrl(getEditLink());
AtomPatchRelativeToOriginalContent content =
    new AtomPatchRelativeToOriginalContent();

content.namespaceDictionary = Namespace.DICTIONARY;
content.originalEntry = originalEntry;
content.patchedEntry = modifiedEntry;
request.content = content;

return RedirectHandler.execute(request).parseAs(getClass());
Это было полезно?

Решение

Вот что именно Geneicxml Был разработан для: он хранит произвольный XML, который вы не используете в своем приложении, чтобы вы могли безопасно использовать метод POT. Просто расширите его в классах модели данных. Хороший пример GenericXML можно найти в Образец для API контента для покупок. Анкет У них также есть Подробное руководство модели XML в том числе обсуждение Genericxml. Дайте мне знать, если это не сработает для вас.

Полное раскрытие: я владелец Google-Api-Java-Client проект.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top