2013-12-13 18 views
11

を持つアイテムを見つけるAPIをマネージドこのコードは言って例外を返しEWSは、私が削除されたアイテムからアイテムを見つけようとしていますItemIDを

ItemId id = new ItemId("zTK6edxaI9sb6AAAQKqWHAAA"); 
SearchFilter.IsEqualTo filter = new SearchFilter.IsEqualTo(ItemSchema.Id, id); 
ItemView view = new ItemView(10); 
view.PropertySet = new PropertySet(BasePropertySet.FirstClassProperties, EmailMessageSchema.Subject); 
FindItemsResults<Item> results = _ExchangeService.FindItems(WellKnownFolderName.DeletedItems, filter, view); 
Console.WriteLine(results.TotalCount); 

項目に一意のIDを指定したフォルダ:

Validation failed. 
Parameter name: searchFilter 

同じコード作品Subjectを使ってメッセージを検索すると

答えて

24

あなたは既にアイテムID

EmailMessage email = EmailMessage.Bind(service, new ItemId(StringItemId)); 
+0

私はあなたの人が大好き!これは答えとして目立つはずです。 – Elfayer

5

ItemIdなどのComplexPropertyで検索することはできません。 ItemIdを変更したアイテムが移動されたためにItem.Bindが機能しないと仮定していますか?

この場合、別のプロパティでSearchFilterを使用する必要があります。これらがEWSを使用して作成したアイテムの場合は、それぞれに固有の拡張プロパティを添付して、それを検索する必要がある場合に使用することができます。

+0

を知っていればFindItemsを使用する必要はありませんはいアイテムIDの変更は、致命的な証明と私はそれが他に移動されたアイテムを相関させるための信頼性の高いメカニズムではないことに気づきましたInbox to Deletedアイテムのようなフォルダ。 – nilobarp

関連する問題