J'ai un dossier dans une boîte aux lettres Exchange qui est un enfant de la racine et qui est créé par l'utilisateur.Exchange Web Service FolderId pour un dossier créé par l'utilisateur
Comment trouver ce dossier à l'aide de l'API gérée par EWS?
J'ai essayé d'utiliser la traversée profonde mais je ne trouve pas le dossier.
Merci à l'avance
Edit: Voici le code que je utilise pour obtenir le dossier créé par l'utilisateur
ExchangeService server = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
server.UseDefaultCredentials = true;
string configUrl = @"https://yourServerAddress.asmx";
server.Url = new Uri(configUrl);
//SetView
FolderView view = new FolderView(100);
view.PropertySet = new PropertySet(BasePropertySet.IdOnly);
view.PropertySet.Add(FolderSchema.DisplayName);
view.Traversal = FolderTraversal.Deep;
FindFoldersResults findFolderResults = server.FindFolders(WellKnownFolderName.Root, view);
//find specific folder
foreach(Folder f in findFolderResults)
{
//show folderId of the folder "test"
if (f.DisplayName == "Test")
Console.WriteLine(f.Id);
}
Vous devriez commencer votre énumération à MsgFolderRoot plutôt que la racine, aussi parce que vous ne l'avez pas paginée les résultats que vous énumération renverrons seulement les 100 premiers dossiers dans une boîte aux lettres une boîte aux lettres typique peut contenir 1000+ dossier donc son important si vous voulez vous énumérer page les résultats. Il est facile d'utiliser un filtre de recherche et de filtrer les résultats, comme dans l'exemple que j'ai posté. –
Mon énumération renvoie uniquement 25 dossiers pour MsgFolderRoot et 45 pour Root et les deux n'incluent pas les dossiers créés par les utilisateurs. Je vais essayer ce que vous avez suggéré. – tushar