2016-05-27 6 views
1

mit I Artikeln in Posteingang folgend mit einem Filter suchen kann mit EWS api verwalten.Wie Element in einem Clutter Ordner suchen ews verwalten api C#

static void SearchByUsingFastSearch(ExchangeService service) 
     { 
      // Return the first 10 items in this call. 
      ItemView view = new ItemView(10); 

      // Find all items where the body contains "move reports". 
      string qstring = "Body:\"move reports\""; 

      // Identify the item properties to return. 
      view.PropertySet = new PropertySet(BasePropertySet.IdOnly, 
               ItemSchema.Subject); 

      // Send the request and get the results.   
      FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, qstring, view); 
     } 

in der gleichen Art und Weise, ist es eine Möglichkeit, Gegenstände zu finden in Clutter Ordner? So etwas wie

FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Clutter, qstring, view); 

Antwort

1

gibt es nicht einen Enumerator für die Clutter-Ordner, da es vor kurzem war für Office365 online eingeführt, mit dem gesagt wird, um Ihr Problem zu beheben, müssen Sie nach dem Ordner nach Name suchen, erfassen Sie die ID (und speichern Sie sie für spätere Verwendungen in eine Instanzvariable), und suchen Sie dann nach Elementen darin.

Ex.

 ExtendedPropertyDefinition ClutterFolderEntryId = new ExtendedPropertyDefinition(new Guid("{23239608-685D-4732-9C55-4C95CB4E8E33}"), "ClutterFolderEntryId", MapiPropertyType.Binary); 
     PropertySet iiips = new PropertySet(); 
     iiips.Add(ClutterFolderEntryId); 
     String MailboxName = "[email protected]"; 
     FolderId FolderRootId = new FolderId(WellKnownFolderName.Root, MailboxName); 
     Folder FolderRoot = Folder.Bind(service, FolderRootId, iiips); 
     Byte[] FolderIdVal = null; 
     if (FolderRoot.TryGetProperty(ClutterFolderEntryId, out FolderIdVal)) 
     { 
      AlternateId aiId = new AlternateId(IdFormat.HexEntryId, BitConverter.ToString(FolderIdVal).Replace("-", ""), MailboxName); 
      AlternateId ConvertedId = (AlternateId)service.ConvertId(aiId, IdFormat.EwsId); 
      Folder ClutterFolder = Folder.Bind(service, new FolderId(ConvertedId.UniqueId)); 
      Console.WriteLine("Unread Email in clutter : " + ClutterFolder.UnreadCount); 
     } 

Quelle: http://gsexdev.blogspot.com/2015/01/accessing-clutter-folder-in-ews-in.html

@GlenScales

Verwandte Themen