Google API Javaクライアントを使用して連絡先の部分的な更新を行う方法は?
-
11-10-2019 - |
質問
軽量のGoogle API Javaクライアントを使用して連絡先を変更しています。
APIには、部分的な更新の実行方法(つまり、HTTPパッチを介して)を示すいくつかのサンプルがありますが、Googleの連絡先は特にパッチをサポートしていないようです。また、ドキュメントは、PUTリクエストで省略された既存のデータが連絡先から削除されるため、PUTを介して行われた連絡先の更新が連絡先に関する完全な情報を含める必要があることを指定しています。
では、連絡先を読み取り、データを変更して更新する最も簡単な手順は何ですか?クライアントAPIにはこれが素晴らしいです AtomParser
これにより、HTTP GETリクエストからの応答が得られ、クラスのメンバーがメンバーに入力されますが、クラスに連絡先が持つ可能性のあるすべてのフィールドが含まれていない限り、すべてのデータを読み取らず、HTTP Put中にデータを削除することもできます。
私の唯一の推測では、すべてのクールなAtomparser Witchcraftをスキップし、普通の古い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());
解決
それがまさにそれです genericxml 設計されたもの:PUTメソッドを安全に使用できるように、アプリケーションで使用していない任意のXMLを保存します。データモデルクラスに拡張するだけです。 genericxmlの良い例は、 ショッピング用のコンテンツAPIのサンプル. 。彼らにもあります XMLモデルの詳細なガイド genericxmlの議論を含む。それがあなたのためにうまくいかないかどうか教えてください。
完全な開示:私はの所有者です Google-API-Java-Client 事業。