gpt4 book ai didi

java - 如何使用 Google API Java 客户端对联系人进行部分更新?

转载 作者:行者123 更新时间:2023-11-30 11:56:05 24 4
gpt4 key购买 nike

我正在使用轻量级 Google API Java 客户端修改联系人。

API 有一些示例显示如何进行部分更新(即通过 HTTP PATCH),但 Google 通讯录似乎特别不支持 PATCH。该文档还指定通过 PUT 完成的联系人更新需要包含有关联系人的完整信息,因为 PUT 请求中遗漏的任何现有数据都将从联系人中删除。

那么读取联系人、修改其数据并更新它的最简单过程是什么?客户端 API 有一个很好的 AtomParser,它从 HTTP GET 请求中获取响应并填充我的类中的成员,但除非我的类包含联系人可能具有的每个可能的字段,否则我可能不会全部读取数据并在 HTTP PUT 期间删除数据。

我唯一的猜测是,我将不得不跳过所有很酷的 AtomParser 巫术,只使用一个普通的旧 XML 解析器来读取传入的提要,提取我需要的信息,然后对其执行 HTTP PUT。但这似乎有点荒谬,考虑到 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());

最佳答案

这正是GenericXml设计用于:它存储您未在应用程序中使用的任意 XML,因此您可以安全地使用 PUT 方法。只需在您的数据模型类中扩展它。 GenericXml 的一个很好的例子可以在 sample for the Content API for Shopping 中找到。 .他们还有一个 detailed guide of the XML model包括对 GenericXml 的讨论。如果它对您不起作用,请告诉我。

完全披露:我是 google-api-java-client 的所有者项目。

关于java - 如何使用 Google API Java 客户端对联系人进行部分更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4689477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com