EWS: самый простой способ перечисления папок и определения из них общеизвестных папок
Я использую следующий код для перечисления папок:
FolderView view = new FolderView(100);
view.PropertySet = new PropertySet(BasePropertySet.FirstClassProperties);
view.PropertySet.Add(FolderSchema.DisplayName);
view.PropertySet.Add(FolderSchema.FolderClass);
FindFoldersResults results = service.FindFolders(WellKnownFolderName.MsgFolderRoot, view);
foreach (Folder folder in results.Folders)
{
if (folder.Id.FolderName != null)
{
MessageBox.Show("WellknowFolder is found");
}
}
К сожалению, окно сообщения никогда не отображается. Для всех папок FolderName(в свойстве Id) имеет значение null. Даже папка является хорошо известной папкой, такой как Контакты, Календари и так далее. Идентификатор содержит только UniqueId. Как проще всего перечислить папки и определить из них известные папки? Спасибо.
1 ответ
Вам необходимо включить свойство FolderSchema.WellKnownFolderName http://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.folderschema.wellknownfoldername(v=exchg.80).aspx например:
view.PropertySet.Add(FolderSchema.WellKnownFolderName);
Как задокументировано, это будет работать только в Exchange 2013
Ура Глен