microsoft exchange ews c# exchange-server ews-managed-api

c# - exchange - API gestionada de EWS encuentra elementos con ItemID



exchange ews url (2)

Estoy tratando de encontrar elementos de la carpeta de elementos eliminados dado el ID único de los elementos

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);

Este código devuelve una excepción que dice:

Validation failed. Parameter name: searchFilter

El mismo código funciona si busco un mensaje con Asunto.


No necesita usar FindItems si ya conoce el ItemId

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


No puede buscar en una propiedad de complejo como el ItemId. Estoy asumiendo que Item.Bind no funcionará debido a que el elemento se mueve, ¿qué cambió el ItemId?

Si ese es el caso, entonces deberá usar un SearchFilter en otra propiedad. Si estos son elementos que creó a través de EWS, podría adjuntar una propiedad extendida única a cada uno y usarla si necesita buscar uno.