我正在使用轻量级的 Google API Java 客户端来修改联系人。
有一些 API 示例展示了如何进行部分更新(即通过 HTTP PATCH),但 Google 联系人似乎并不特别支持 PATCH。文档还指定通过 PUT 完成的联系人更新需要包含有关联系人的完整信息,因为 PUT 请求中省略的任何现有数据都将从联系人中删除。
那么读取联系人、修改其数据并更新它的最简单的程序是什么?客户端 API 很好AtomParser
地从 HTTP GET 请求中获取响应并填充我的类中的成员,但除非我的类包含联系人可能拥有的所有可能字段,否则我可能不会读取所有数据并因此在期间删除数据HTTP 放置。
我唯一的猜测是,我将不得不跳过所有酷炫的 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());