Obtenir les listes de salle à l'aide d’EWS dans Exchange

Découvrez comment obtenir une liste de toutes les listes de salles de votre organisation ou une liste de salles unique à partir d’un serveur Exchange à l’aide de l’API managée EWS ou EWS.

Vous pouvez utiliser l’API managée EWS ou EWS pour obtenir des informations sur les salles et la façon dont les salles sont regroupées dans votre organisation. Les listes de salles n’existent pas par défaut; votre administrateur doit les créer et les organiser. En règle générale, ils sont organisés par emplacement ou par service, comme illustré dans l’exemple suivant.

Noms et adresses e-mail des salles Contoso

Nom de la liste des salles adresse Email de la liste des salles
Liste des salles du bâtiment 11
Bldg11rooms@contoso.com
Liste des salles de conférence du bâtiment des sciences de la santé
HSbldgrooms@contoso.edu
Salles de réunion de l’étage de comptabilité
Acctfloor300@contoso.com

Chaque salle d’une liste de salles a un nom et une adresse e-mail qui lui sont associés.

Noms et adresses e-mail des salles Contoso

Nom de la salle adresse Email de la salle
Conf Room 11/101 (8) AV
Cf11101@contoso.com
Laboratoire de démonstration HS (100)
Hs101@contoso.edu
Comptabilité 305 WB
Acct305@contoso.com

Vous pouvez obtenir une liste qui contient toutes les listes de salles à l’aide de la méthode d’API managée EWS ExchangeService.GetRoomLists ou de l’opération EWS GetRoomLists .

Vous pouvez récupérer une liste de salles unique qui contient toutes les salles d’un emplacement ou d’un service en fournissant son adresse e-mail à l’aide de la méthode GetRooms EWS Managed API ou de l’opération GetRooms EWS. Lorsque vous avez une collection de salles associée à une liste de salles, vous pouvez ensuite effectuer une recherche dans la collection pour identifier la ou les salles souhaitées, soit par adresse e-mail, soit en recherchant des mots clés dans le nom, tels que « AV » ou « Lab ».

Obtenir toutes les listes de salles à l’aide de l’API managée EWS

L’exemple suivant montre comment obtenir une liste qui contient toutes les listes de salles de votre organisation à l’aide de la méthode GetRoomLists .

Cet exemple suppose que vous ont été authentifiés auprès d'un serveur Exchange et que vous avez acquis un ExchangeService object named 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);
}

Obtenir toutes les listes de salles à l’aide d’EWS

L’exemple suivant montre comment obtenir une collection de toutes les roomlists de votre organisation à l’aide de l’opération GetRoomLists . Il s’agit également de la requête XML que l’API managée EWS envoie lorsque vous utilisez l’API managée EWS pour obtenir toutes les listes de salles.

<?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>

Le serveur répond à la requête GetRoomLists avec un message GetRoomListsResponse qui contient les listes de salles pour votre organisation.

<?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>

Obtenir toutes les salles d’une liste de salles à l’aide de l’API managée EWS

L’exemple suivant montre comment obtenir une collection de salles dans une liste de salles à l’aide de la méthode 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);
}

Obtenir toutes les salles d’une liste de salles à l’aide d’EWS

L’exemple suivant montre comment obtenir une liste de salles dans un RoomList à l’aide de l’opération GetRooms . Il s’agit également de la requête XML que l’API managée EWS envoie lorsque vous utilisez l’API managée EWS pour obtenir toutes les salles d’une liste de salles.

<?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>

Le serveur répond à la requête GetRooms avec un message GetRoomsResponse qui contient les salles dans la liste des salles.

<?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>

Voir aussi