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>