C# Exchange API. Не могу получить список комнат

299
17 июня 2018, 08:10

Впервые знакомлюсь с EWS API 2.0 (https://www.nuget.org/packages/Microsoft.Exchange.WebServices/). Мне нужно получить список комнат. У меня есть почта в Outlook, там есть список комнат. Для своего проекта в Visual Studio я через Nuget скачал EWS последней версии.

В классе ExchangeService есть метод GetRoomLists(). Казалось бы, всё хорошо, легко и просто, но этот метод мне постоянно возвращает пустой список (Count = 0).

Я практически всё обыскал в интернете, как правильно это делается, в итоге так и не получилось сделать. Очень много ссылок приводить не буду, вот основные:

https://docs.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2010/hh532565%28v%3dexchg.80%29 — официальная документация.

https://code.msdn.microsoft.com/Exchange-2013-101-Code-3c38582c/view/SamplePack#content — по этой ссылке внизу есть список всяких примеров, в частности, вот пример, который я смотрел (Get a room list programmatically by using the EWS Managed API), он мне тоже не помог.

https://social.msdn.microsoft.com/Forums/en-US/d4d0b520-2d96-49d1-bb17-59eebbcef60b/getroomlists-returns-no-results-ews-exchange-2010-mr2?forum=exchangesvrdevelopment — у этого человека 8 лет назад тоже была похожая проблема, но он предоставил неточное (неясно объяснил, что делать) решение моей проблемы.

Вот код, который я написал:

public class Program
    {
        static void Main(string[] args)
        {
            try
            {
                ExchangeService service = new ExchangeService();
                service.Url = new Uri("https://darkmail.dark.ru/ews/exchange.asmx");   
                service.Credentials = new NetworkCredential("Login", "Password");   
                service.UseDefaultCredentials = false;
                EmailAddressCollection collection = service.GetRoomLists();
                //EmailAddress emailAddress = new EmailAddress("tumanov@dark.ru");
                //var collection1 = service.GetRooms(emailAddress);
            }
            catch (Exception exp)
            {
                Console.WriteLine(exp.Message);
            }
            finally
            {
                Console.Read();
            }
        }
    }

Login — Домен/Имя пользователя, Password — пароль. Проблемы с авторизацией у меня нет, я спокойно могу через браузер зайти на asmx-сервис.

Возможно я что-то не так делаю или что-то не понимаю в EWS API 2.0. Можете, пожалуйста, по шагам расписать и объяснить мне, что нужно мне сделать, чтобы я мог наконец вытащить список комнат из Outlook?

UPDATE:

Скачал себе EWSEditor, там есть в меню Tools пункт Meeting Rooms. Там открывается окно, где можно проверить, как работают методы GetRoomLists() и GetRooms(). Так вот GetRoomLists() возвращает список групп комнат, а GetRooms() — комнаты, принадлежащие какой-либо одной группе комнат. Если я, конечно, ничего не путаю.

Так вот, если в OutLook у меня созданы комнаты, но эти комнаты не разбиты по группам, то существует ли какой-либо способ вытащить эти комнаты?

READ ALSO
Почему может не работать выборка?

Почему может не работать выборка?

Есть примерная структура бд:

254
Не исполняются sql запросы в node.js?

Не исполняются sql запросы в node.js?

При попытке зайти на страницу, где есть sql запросы в nоdejs, в консоли выводится предупреждение: (node:29843) [DEP0096] DeprecationWarning: timers

314
mysql datetime between

mysql datetime between

Есть табличка которая содержит поле datetimeТребуется выбрать данные из таблицы которые попадают под определённое ВРЕМЯ

301
php asterisk ami получить статус звонка

php asterisk ami получить статус звонка

я новичок в этом деле, поэтому не сочтите за глупость такой вопрос, как получить статус звонкаСуть в следующем, по нажатию на кнопке я совершаю...

266