Freigeben über


Abrufen von Raumlisten mithilfe von EWS in Exchange

Erfahren Sie, wie Sie eine Liste aller Raumlisten in Ihrer Organisation oder eine Einzelraumliste von einem Exchange-Server abrufen, indem Sie die verwaltete EWS-API oder EWS verwenden.

Sie können die verwaltete EWS-API oder EWS verwenden, um Informationen über Räume und die Gruppierung der Räume in Ihrer Organisation abzurufen. Raumlisten sind standardmäßig nicht vorhanden. Ihr Administrator muss sie erstellen und organisieren. In der Regel sind sie nach Standort oder Abteilung organisiert, wie im folgenden Beispiel gezeigt.

Contoso-Raumlistennamen und E-Mail-Adressen

Name der Raumliste Email Adresse der Raumliste
Gebäude 11 Raumliste
Bldg11rooms@contoso.com
Liste des Konferenzraums für Gebäude im Gesundheitswesen
HSbldgrooms@contoso.edu
Besprechungsräume der Buchhaltung
Acctfloor300@contoso.com

Jedem Raum in einer Raumliste sind ein Name und eine E-Mail-Adresse zugeordnet.

Contoso-Raumnamen und E-Mail-Adressen

Name des Raums Email Adresse des Raums
Conf Room 11/101 (8) AV
Cf11101@contoso.com
HS Demo Lab (100)
Hs101@contoso.edu
Buchhaltung 305 WB
Acct305@contoso.com

Sie können eine Liste abrufen, die alle Raumlisten enthält, indem Sie entweder die ExchangeService.GetRoomLists EWS Managed API-Methode oder den EWS-Vorgang GetRoomLists verwenden.

Sie können eine Einzelraumliste abrufen, die alle Räume für einen Standort oder eine Abteilung enthält, indem Sie die E-Mail-Adresse mithilfe der GetRooms EWS Managed API-Methode oder des GetRooms EWS-Vorgangs angeben. Wenn Sie eine Sammlung von Räumen haben, die einer Raumliste zugeordnet sind, können Sie die Sammlung durchsuchen, um den gewünschten Raum oder die gewünschten Räume zu identifizieren, entweder anhand der E-Mail-Adresse oder durch Suchen nach Schlüsselwörtern im Namen, z. B. "AV" oder "Lab".

Abrufen aller Raumlisten mithilfe der verwalteten EWS-API

Das folgende Beispiel zeigt, wie Sie mithilfe der GetRoomLists-Methode eine Liste abrufen, die alle Raumlisten in Ihrer Organisation enthält.

In diesem Beispiel wird davon ausgegangen, das Sie sich an einem Exchange-Server angemeldet haben und das ExchangeService-Objekt service erhalten haben.

// 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);
}

Abrufen aller Raumlisten mithilfe von EWS

Das folgende Beispiel zeigt, wie Sie mithilfe des GetRoomLists-Vorgangs eine Sammlung aller RoomLists Ihrer Organisation abrufen. Dies ist auch die XML-Anforderung, die die verwaltete EWS-API sendet, wenn Sie die verwaltete EWS-API verwenden, um alle Raumlisten abzurufen.

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

Der Server antwortet auf die GetRoomLists-Anforderung mit einer GetRoomListsResponse-Nachricht , die die Raumlisten für Ihre Organisation enthält.

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

Abrufen aller Räume in einer Raumliste mithilfe der verwalteten EWS-API

Das folgende Beispiel zeigt, wie Sie mithilfe der GetRooms-Methode eine Sammlung von Räumen in einer Raumliste abrufen.

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);
}

Abrufen aller Räume in einer Raumliste mithilfe von EWS

Das folgende Beispiel zeigt, wie Sie mithilfe des GetRooms-Vorgangs eine Liste von Räumen in einer RoomList abrufen. Dies ist auch die XML-Anforderung, die die verwaltete EWS-API sendet, wenn Sie die verwaltete EWS-API verwenden, um alle Räume in einer Raumliste abzurufen.

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

Der Server antwortet auf die GetRooms-Anforderung mit einer GetRoomsResponse-Nachricht , die die Räume in der Raumliste enthält.

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

Siehe auch