Получение списков помещений с помощью EWS в Exchange
Узнайте, как получить список всех списков помещений в организации или один список помещений с сервера Exchange Server с помощью управляемого API EWS или EWS.
Управляемый API EWS или EWS можно использовать для получения сведений о комнатах и о том, как они группируются в организации. Списки комнат не существуют по умолчанию; администратор должен создать и упорядочить их. Как правило, они организованы по расположению или отделу, как показано в следующем примере.
Имена и адреса электронной почты в списке комнат Contoso
Имя списка номеров | Email адрес списка помещений |
---|---|
Список комнат в здании 11 |
Bldg11rooms@contoso.com |
Медицинские науки здание конференц-зал список |
HSbldgrooms@contoso.edu |
Конференц-залы для бухгалтерского учета |
Acctfloor300@contoso.com |
Каждая комната в списке комнат имеет имя и адрес электронной почты, связанные с ним.
Имена комнат и адреса электронной почты Contoso
Название комнаты | Email адрес номера |
---|---|
Конференц-зал 11/101 (8) AV |
Cf11101@contoso.com |
Демонстрационная лаборатория HS (100) |
Hs101@contoso.edu |
Бухгалтерия 305 ВБ |
Acct305@contoso.com |
Список, содержащий все списки помещений, можно получить с помощью метода Управляемого API ExchangeService.GetRoomLists EWS или операции GetRoomLists EWS.
Вы можете получить один список комнат, содержащий все комнаты для расположения или отдела, указав его адрес электронной почты с помощью метода Управляемого API GetRooms EWS или операции GetRooms EWS. Если у вас есть коллекция комнат, связанных со списком комнат, вы можете выполнить поиск по коллекции, чтобы определить нужную комнату или комнаты, либо по адресу электронной почты, либо путем поиска ключевых слов в имени, таких как "AV" или "Lab".
Получение всех списков помещений с помощью управляемого API EWS
В следующем примере показано, как получить список, содержащий все списки помещений в организации, с помощью метода GetRoomLists .
В этом примере предполагается, что вы прошли проверку подлинности на сервере Exchange Server и получили объект ExchangeService под именем service.
// Return all the room lists in the organization.
// This method call results in a GetRoomLists call to EWS.
EmailAddressCollection myRoomLists = service.GetRoomLists();
// Display the room lists.
foreach (EmailAddress address in myRoomLists)
{
Console.WriteLine("Email Address: {0} Mailbox Type: {1}", address.Address, address.MailboxType);
}
Получение всех списков помещений с помощью EWS
В следующем примере показано, как получить коллекцию всех объектов RoomList вашей организации с помощью операции GetRoomLists . Это также XML-запрос, который отправляет управляемый API EWS при использовании управляемого API EWS для получения всех списков помещений.
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<t:RequestServerVersion Version="Exchange2010" />
</soap:Header>
<soap:Body>
<m:GetRoomLists />
</soap:Body>
</soap:Envelope>
Сервер отвечает на запрос GetRoomLists сообщением GetRoomListsResponse , содержащим списки помещений для вашей организации.
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="https://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="15" MinorVersion="0" MajorBuildNumber="868" MinorBuildNumber="8" Version="V2_9"
xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<m:GetRoomListsResponse ResponseClass="Success" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<m:ResponseCode>NoError</m:ResponseCode>
<m:RoomLists>
<t:Address>
<t:Name>Contoso Building 1 Room List</t:Name>
<t:EmailAddress>bldg1rooms@contoso.com</t:EmailAddress>
<t:RoutingType>SMTP</t:RoutingType>
<t:MailboxType>PublicDL</t:MailboxType>
</t:Address>
<t:Address>
<t:Name>Contoso Building 2 Room List</t:Name>
<t:EmailAddress>bldg2rooms@contoso.com</t:EmailAddress>
<t:RoutingType>SMTP</t:RoutingType>
<t:MailboxType>PublicDL</t:MailboxType>
</t:Address>
<t:Address>
<t:Name>Contoso Building 3 Room List</t:Name>
<t:EmailAddress>bldg3rooms@contoso.com</t:EmailAddress>
<t:RoutingType>SMTP</t:RoutingType>
<t:MailboxType>PublicDL</t:MailboxType>
</t:Address>
</m:RoomLists>
</m:GetRoomListsResponse>
</s:Body>
</s:Envelope>
Получение всех комнат в списке комнат с помощью управляемого API EWS
В следующем примере показано, как получить коллекцию комнат в списке комнат с помощью метода GetRooms .
EmailAddress myRoomList = "bldg3rooms@contoso.com";
// This method call results in a GetRooms call to EWS.
System.Collections.ObjectModel.Collection<EmailAddress> myRoomAddresses = service.GetRooms(myRoomList);
// Display the individual rooms.
foreach (EmailAddress address in myRoomAddresses)
{
Console.WriteLine("Email Address: {0}", address.Address);
}
Получение всех комнат в списке комнат с помощью EWS
В следующем примере показано, как получить список комнат в Списке комнат с помощью операции GetRooms . Это также XML-запрос, который отправляет управляемый API EWS при использовании управляемого API EWS для получения всех комнат в списке помещений.
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<t:RequestServerVersion Version="Exchange2010" />
</soap:Header>
<soap:Body>
<m:GetRooms>
<m:RoomList>
<t:EmailAddress>bldg3rooms@contoso.com</t:EmailAddress>
</m:RoomList>
</m:GetRooms>
</soap:Body>
</soap:Envelope>
Сервер отвечает на запрос GetRooms сообщением GetRoomsResponse , содержащим комнаты в списке комнат.
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="https://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="15" MinorVersion="0" MajorBuildNumber="873" MinorBuildNumber="9"
Version="V2_9" xmlns:h="http://scemas.microsoft.com/exchange/services/2006/types"
xmlns="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:xsd="http://www.w3org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<m:GetRoomsResponse ResponseClass="Success" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://scemas.microsoft.com/exchange/services/2006/types">
<m:ResponseCode>NoError</m:ResponseCode>
<m:Rooms>
<t:Room>
<t:Id>
<t:Name>Conf Room 3/101 (16) AV</t:Name>
<t:EmailAddress>cf3101@contoso.com</t:EmailAddress>
<t:RoutingType>SMTP</t:RoutingType>
<t:MailboxType>Mailbox</t:MailboxType>
</t:Id>
</t:Room>
<t:Room>
<t:Id>
<t:Name>Conf Room 3/102 (8) AV</t:Name>
<t:EmailAddress>cf3102@contoso.com</t:EmailAddress>
<t:RoutingType>SMTP</t:RoutingType>
<t:MailboxType>Mailbox</t:MailboxType>
</t:Id>
</t:Room>
<t:Room>
<t:Id>
<t:Name>Conf Room 3/103 (14) AV RoundTable</t:Name>
<t:EmailAddress>cf3103@contoso.com</t:EmailAddress>
<t:RoutingType>SMTP</t:RoutingType>
<t:MailboxType>Mailbox</t:MailboxType>
</t:Id>
</t:Room>
</m:Rooms>
</m:GetRoomsResponse>
</s:Body>
</s:Envelope>