私は、EWS マネージ API for Java を使用して、Exchange プロジェクトでいくつかの作業を行ってきました。
最近、RecipientRow
バイト配列として渡されるバイナリ プロパティとしてフォーマットされた特定のプロパティに出くわしました。特定の MAPI タグの配列を検索して必要なプロパティを見つけることができましたが、現在、このプロセスを簡素化するために使用できる無料の Java ライブラリがあるかどうか疑問に思う必要があります。
基本的に、各タグのタイプおよびその他の属性へのプロパティタグの大きな「マップ」にラップされたいくつかの便利なメソッド/オブジェクトのみが必要です (つまり、電子メールアドレスを表し、可変長0x1F000330
のプロパティです)。String
極端な例としては、このExportItems
関数を使用して Exchange オブジェクト全体を Base 64 でエンコードされた文字列にダンプし、それからすべてのプロパティを選択する場合があります。MAPI とやり取りしたり、Outlook からのデータを解析したりするために設計されたものは、このようなことを行う必要があると思いますが、コードは自由に入手できますか?
Exchange からのバイナリ ストリームを選択して開くことについて話しているのではありません。これは主に、バイナリ データが要求された EWS に固有のものです。RecipientRows
はこのタグ付け方法で処理され、タグ、タイプ、およびその他の属性のマップを使用するRecipientRow
と、値を分離して処理できます。
ExportItems
これは同じフォーマットに従い、先頭にヘッダー情報とフラグを追加してから、特定の値を識別するタグを含む大量のバイナリ データを提供すると思います。まだ試していないので誤解されるかもしれませんがExportItems
(EWS マネージ API には組み込まれていませんが、Exchange でサポートされているため、組み込む必要があります)、確実なことは言えません。しかし、Microsoft が複数プロパティのバイナリ値に使用する構造を考えると、この特定のケースでは有効かもしれません。
もちろん、添付ファイルなどはより一般的な方法で処理する必要がありますが、Exchange アイテムに関する情報 (つまり、予定の受信者、電子メールの本文など) にアクセスできる必要があります。