Используя EWS, как я могу получить имя комнаты собраний, если у меня есть ее адрес электронной почты? - PullRequest
0 голосов
/ 10 мая 2018

У меня есть список адресов электронной почты конференц-зала, и я хотел бы получить их имена. Как мне это сделать, используя EWS и сервер обмена 2010 года. Сервер, похоже, не имеет SP1, поэтому я не могу использовать ExchanceService.ResolveName. Если я это сделаю, я получаю сообщение Method ResolveName is only valid for Exchange Server version Exchange2010_SP1 or later.

UPDATE:

На самом деле я использую https://outlook.office365.com,, поэтому я не очень уверен, почему я получаю сообщение об ошибке выше, когда пытаюсь использовать метод ResolveName.

ОБНОВЛЕНИЕ 2:

На самом деле, да, возможно использовать ResolveName на office365. Я просто передавал неверную версию сервера при создании экземпляра ExchangeSercice. Я передавал ExchangeVersion.Exchange2010, но также можно использовать ExchangeVersion.Exchange2010_SP1, ExchangeVersion.Exchange2010_SP2 и т. Д.

1 Ответ

0 голосов
/ 11 мая 2018

Вы можете использовать операцию ResolveName, как показано ниже, чтобы получить имя комнаты собрания:

    EmailAddressCollection roomLists = service.GetRoomLists();
    foreach (EmailAddress email in roomLists)
    {
        EmailAddress roomList = email.Address;
        PropertySet props = new PropertySet(BasePropertySet.FirstClassProperties);
        NameResolutionCollection nrCol = service.ResolveName(email.Address, ResolveNameSearchLocation.DirectoryOnly, true, props);
        foreach (NameResolution nr in nrCol)
        {
            Console.WriteLine(nr.Contact.DisplayName);
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...