Я пытаюсь получить список делегатов, которые имеют права редактора или автора на календарь определенных пользователей. Я пытался использовать API веб-служб Exchange (EWS), но у меня, кажется, нет правильного уровня разрешений, чтобы можно было запрашивать это. Вот код, который я использую:
ExchangeService service = new ExchangeService();
service.UseDefaultCredentials = true;
service.Url = new Uri("https://mailurl/Exchange.asmx");
Mailbox mailbox = new Mailbox("some_user@some_domain.com");
var result = service.GetDelegates(mailbox, true);
Приведенный выше код приводит к следующему исключению, которое, как я предполагаю, связано с разрешениями: «Указанный объект не найден в хранилище».
В качестве альтернативы я затем попытался использовать пространство имен System.DirectoryServices (DirectoryEntry, DirectorySearcher вместе с методом FindOne) для запроса в Active Directory (AD) списка делегатов для данного пользователя. Я обнаружил свойство publicdelegates , но, похоже, я получил список всех имен делегатов и не содержит никакой дополнительной информации о конкретном уровне разрешений, которые есть у каждого делегата. Я надеялся получить только список делегатов, имеющих права редактора или автора.
Есть предложения? Заранее спасибо.