EWS API (マネージドまたは Web サービスを直接) を使用して SearchFolder を作成しようとしています。SearchFilter.ContainsSubstring
で を作成するとItemSchema.Body
、そこから会話が得られないことに気付きました。
フォルダを作成する方法は次のとおりです。
var folder = new SearchFolder(service)
{
DisplayName = topic
};
var searchParameters = folder.SearchParameters;
searchParameters.SearchFilter = new SearchFilter.ContainsSubstring(ItemSchema.Body, topic, ContainmentMode.Substring, ComparisonMode.IgnoreCaseAndNonSpacingCharacters);
searchParameters.RootFolderIds.Add(WellKnownFolderName.Root);
searchParameters.Traversal = SearchFolderTraversal.Deep;
folder.Save(WellKnownFolderName.SearchFolders);
後で、このフォルダーから会話を取得しようとします。
service.FindConversation(conversationView, folder.Id);
そして、これは 0 会話を返します。
私は自分のメール アカウントに 2 つのメッセージを送信して確認しました。1 つ目は件名のみに特別な用語を使用し、2 つ目は本文に同じ用語を使用しました。でフィルターを使用して SearchFolder を作成するとItemSchema.Subject
、最初の会話が得られますが、上で作成した SearchFolder を使用すると、期待した結果が得られません。
ContainsSubstring SearchFilter に関するいくつかの制限はありますか? NormalizedBody または TextBody を使用してみましたが、フォルダーの作成プロセスでエラーが発生しました。私が見逃しているものは他にありますか?