Впервые знакомлюсь с 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 у меня созданы комнаты, но эти комнаты не разбиты по группам, то существует ли какой-либо способ вытащить эти комнаты?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости