現在、Outlook 2010 で EWS を使用しています。カテゴリフィールドに基づいてユーザーの連絡先を検索しようとしています。基本的に、カテゴリ フィールドに特定の部分文字列が含まれるすべての連絡先を返したいと考えています。以下に例を示します。
ExchangeService service = new ExchangeService
{
Credentials = new WebCredentials(user, password, domain),
Url = new Uri(exchangeUrl),
};
string searchString = "abc";
SearchFilter filter = new SearchFilter.ContainsSubstring(ItemSchema.Categories, searchString);
ItemView view = new ItemView(200);
Mailbox mailbox = new Mailbox("blah@blah.com");
FolderId folderId = new FolderId(WellKnownFolderName.Contacts, mailbox);
FindItemsResults<Item> results = service.FindItems(folderId, filter, view);
CategoriesStringList
フィールドが通常の文字列ではなく厄介なことに になっているため、これはもちろん失敗します。すべてのユーザー連絡先に関連付けられているカテゴリは 1 つだけです。最初のCategorySearchFilter
で比較を実行するだけでこれを機能させる方法はありますか?
注意してください: 私の手に負えない理由により、私は AQS 文字列を使用できません。それらは単にオプションではありません。SearchFilter
オブジェクト (または結果をフィルタリングする他のメカニズム) を使用する必要があります。