Obter listas de quartos usando o EWS no Exchange
Saiba como obter uma lista de todas as listas de salas em sua organização ou uma única lista de salas de um servidor do Exchange usando a API Gerenciada do EWS ou o EWS.
Você pode usar a API Gerenciada do EWS ou o EWS para obter informações sobre salas e como as salas são agrupadas em sua organização. As listas de salas não existem por padrão; O administrador precisa criá-los e organizá-los. Normalmente, eles são organizados por local ou departamento, conforme mostrado no exemplo a seguir.
Nomes de lista de salas e endereços de email da Contoso
Nome da lista de salas | Email endereço da lista de salas |
---|---|
Construindo uma lista de 11 quartos |
Bldg11rooms@contoso.com |
Lista de salas de conferência do Health Science Building |
HSbldgrooms@contoso.edu |
Salas de Reunião do Chão de Contabilidade |
Acctfloor300@contoso.com |
Cada sala em uma lista de salas tem um nome e um endereço de email associados a ela.
Nomes de sala contoso e endereços de email
Nome da sala | Email endereço da sala |
---|---|
Sala de Configuração 11/101 (8) AV |
Cf11101@contoso.com |
Laboratório de Demonstração do HS (100) |
Hs101@contoso.edu |
Contabilidade 305 WB |
Acct305@contoso.com |
Você pode obter uma lista que contém todas as listas de salas usando o método exchangeService.GetRoomLists EWS Managed API ou a operação GetRoomLists EWS.
Você pode recuperar uma única lista de salas que contém todas as salas de um local ou departamento fornecendo seu endereço de email usando o método de API Gerenciada do GetRooms EWS ou a operação GetRooms EWS. Quando você tem uma coleção de salas associadas a uma lista de salas, você pode pesquisar por meio da coleção para identificar a sala ou as salas desejadas, por endereço de email ou procurando palavras-chave no nome, como "AV", ou "Laboratório".
Obter todas as listas de salas usando a API Gerenciada do EWS
O exemplo a seguir mostra como obter uma lista que contém todas as listas de salas em sua organização usando o método GetRoomLists .
Este exemplo pressupõe que você se autenticou em um servidor Exchange e adquiriu um objetoExchangeService chamado 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);
}
Obter todas as listas de salas usando o EWS
O exemplo a seguir mostra como obter uma coleção de todos os RoomLists da sua organização usando a operação GetRoomLists . Essa também é a solicitação XML que a API Gerenciada do EWS envia quando você usa a API Gerenciada do EWS para obter todas as listas de salas.
<?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>
O servidor responde à solicitação GetRoomLists com uma mensagem GetRoomListsResponse que contém as listas de salas para sua organização.
<?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>
Obter todas as salas em uma lista de salas usando a API Gerenciada do EWS
O exemplo a seguir mostra como obter uma coleção de salas em uma lista de salas usando o método 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);
}
Obter todas as salas em uma lista de salas usando o EWS
O exemplo a seguir mostra como obter uma lista de salas em uma RoomList usando a operação GetRooms . Essa também é a solicitação XML que a API Gerenciada do EWS envia quando você usa a API Gerenciada do EWS para obter todas as salas em uma lista de salas.
<?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>
O servidor responde à solicitação GetRooms com uma mensagem GetRoomsResponse que contém as salas na lista de salas.
<?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>