Obtener listas de salas con EWS en Exchange

Obtenga información sobre cómo obtener una lista de todas las listas de salas de la organización o una sola lista de salas de un servidor de Exchange mediante la API administrada de EWS o EWS.

Puede usar la API administrada de EWS o EWS para obtener información sobre los salones y cómo se agrupan las salas en su organización. Las listas de salas no existen de forma predeterminada; el administrador debe crear y organizarlos. Normalmente, están organizados por ubicación o departamento, como se muestra en el ejemplo siguiente.

Nombres y direcciones de correo electrónico de la lista de salas de Contoso

Nombre de la lista de salas Dirección de correo electrónico de la lista de salas
Edificio 11 lista de salas
Bldg11rooms@contoso.com
Lista de salas de conferencia de desarrollo de Ciencias de la salud
HSbldgrooms@contoso.edu
Salas de reuniones del piso de cuentas
Acctfloor300@contoso.com

Cada habitación de una lista de salas tiene un nombre y una dirección de correo electrónico asociados.

Nombres de salas y direcciones de correo electrónico de Contoso

Nombre del salón Dirección de correo electrónico del salón
Conf Room 11/101 (8) AV
Cf11101@contoso.com
Laboratorio de demostración de HS (100)
Hs101@contoso.edu
Contabilidad 305 WB
Acct305@contoso.com

Puede obtener una lista que contiene todas las listas de salas con el método de API administrada de EWS ExchangeService. GetRoomLists o la operación de EWS GetRoomLists .

Puede recuperar una lista de salas única que contenga todas las salas para una ubicación o departamento proporcionando su dirección de correo electrónico mediante el método de la API administrada de EWS de GetRooms o la operación de EWS GetRooms . Cuando tiene una colección de salones asociados con una lista de salas, puede buscar en la colección para identificar la sala o las salas que desee, ya sea por una dirección de correo electrónico o buscando palabras clave en el nombre, como "AV" o "Lab".

Obtener todas las listas de salas mediante la API administrada de EWS

En el siguiente ejemplo se muestra cómo obtener una lista que contiene todas las listas de salas de su organización mediante el método GetRoomLists .

En este ejemplo se supone que se ha autenticado en un servidor de Exchange y que se ha adquirido un objeto ExchangeService denominado 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);
}

Obtener todas las listas de salas mediante EWS

En el ejemplo siguiente se muestra cómo obtener una colección de todos los RoomLists de la organización mediante el uso de la operación GetRoomLists . También es la solicitud XML que la API administrada de EWS envía cuando usa la API administrada de EWS para obtener todas las listas de salas.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" 
               xmlns:t="https://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>

El servidor responde a la solicitud GetRoomLists con un mensaje GetRoomListsResponse que contiene las listas de salas de su organización.

<?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="https://schemas.microsoft.com/exchange/services/2006/types" 
                         xmlns="https://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="https://schemas.microsoft.com/exchange/services/2006/messages" 
                            xmlns:t="https://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>

Obtener todas las salas de una lista de salas mediante la API administrada de EWS

En el ejemplo siguiente se muestra cómo obtener una colección de salas en una lista de salas con el 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);
}

Obtener todas las salas de una lista de salas con EWS

En el ejemplo siguiente se muestra cómo obtener una lista de salas en un RoomList mediante la operación GetRooms . También es la solicitud XML que la API administrada de EWS envía cuando usa la API administrada de EWS para obtener todas las salas en una lista de salas.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" 
               xmlns:t="https://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>

El servidor responde a la solicitud GetRooms con un mensaje GetRoomsResponse que contiene las salas de la 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="https://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="https://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>

Vea también