GetUserAvailability-Vorgang

Hier finden Sie Informationen zum GetUserAvailability EWS-Vorgang.

Der Vorgang "GetUserAvailability" enthält detaillierte Informationen zur Verfügbarkeit einer Gruppe von Benutzern, Räumen und Ressourcen innerhalb eines bestimmten Zeitraums.

Verwenden des GetUserAvailability-Vorgangs

Der GetUserAvailability-Vorgang stellt aktuelle Benutzerverfügbarkeitsinformationen auf einer bestimmten Detailebene bereit. Clientanwendungen wie Outlook, Outlook Web Access, Outlook Mobile Access und andere verwenden SMTP-Adressen, um die angeforderten Benutzerinformationen zu identifizieren.

Der Verfügbarkeitsdienst erweitert Verteilerlisten, um den Frei/Gebucht-Status für jedes Mitglied der Liste abzurufen, solange die Anzahl der Postfächer in der Verteilerliste kleiner als 100 ist. Dies ist die maximale Anzahl von Identitäten, die der GetUserAvailability-Vorgang anfordern kann. Die Frei/Gebucht-Status der Mitglieder der Verteilerliste werden in einem einzigen Frei/Gebucht-Status für die gesamte Verteilerliste zusammengeführt.

Clientanwendungsanforderungen geben den Zeitraum der Verfügbarkeitsabfrage an. Der Standardzeitraum für die angeforderten Informationen beträgt 42 Tage. Wenn der Kalender des Benutzers Termine oder Besprechungen enthält, die sich innerhalb und außerhalb des definierten Zeitraums für die Abfrage befinden, wird der Termin zurückgegeben.

Die zurückgegebenen Termin- und Besprechungszeiten befinden sich in derselben Zeitzone wie die Clientanwendung, die die Besprechung anfordert.

Der Verfügbarkeitsdienst verarbeitet die Anforderung für jeden Client. Der Dienst erweitert alle Terminserien und gibt die maximale Anzahl von Kalenderdetails zurück, für die der anfordernde Client über die Berechtigung zum Empfangen verfügt.

Hinweis

Wenn das Zielpostfach nicht verfügbar ist oder nicht gefunden werden kann, wird eine MailRecipientNotFoundException-Ausnahme ausgelöst. Der Client empfängt eine Fehlermeldung, die besagt, dass der E-Mail-Empfänger nicht im Active Directory-Verzeichnisdienst oder active Directory Domain Services (AD DS) gefunden wird.

SOAP-Header des GetUserAvailability-Vorgangs

Der GetUserAvailability-Vorgang kann die SOAP-Header verwenden, die in der folgenden Tabelle aufgeführt sind.

Header Element Beschreibung
Impersonation
ExchangeImpersonation
Identifiziert den Benutzer, für den der Client einen Identitätswechsel durchführt. Dieser Header gilt für eine Anforderung.
RequestVersion
RequestServerVersion
Gibt die Schemaversion für die Vorgangsanforderung an. Dieser Header gilt für eine Anforderung.
ServerVersion
ServerVersionInfo
Gibt die Version des Servers an, der auf die Anforderung geantwortet hat. Dieser Header gilt für eine Antwort.
TimeZoneContext
TimeZoneContext
Gibt einen SOAP-Header an, der die Zeitzone angibt, die für alle Antworten vom Server verwendet werden soll. Alle Vom Server zurückgegebenen Zeiten werden in die angegebene Zeitzone konvertiert. Dieser Header gilt für eine Antwort.

GetUserAvailability-Anforderungsbeispiel: Abrufen von Verfügbarkeitsinformationen

Das folgende Beispiel einer GetUserAvailability-Vorgangsanforderung zeigt, wie Detaillierte Verfügbarkeitsinformationen für zwei Benutzer in der Pacific Time-Zeitzone abgerufen werden.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:xsd="http://www.w3.org/2001/XMLSchema"
               xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
               xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types">
  <soap:Body>
    <GetUserAvailabilityRequest xmlns="https://schemas.microsoft.com/exchange/services/2006/messages"
                xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types">
      <t:TimeZone xmlns="https://schemas.microsoft.com/exchange/services/2006/types">
        <Bias>480</Bias>
        <StandardTime>
          <Bias>0</Bias>
          <Time>02:00:00</Time>
          <DayOrder>5</DayOrder>
          <Month>10</Month>
          <DayOfWeek>Sunday</DayOfWeek>
        </StandardTime>
        <DaylightTime>
          <Bias>-60</Bias>
          <Time>02:00:00</Time>
          <DayOrder>1</DayOrder>
          <Month>4</Month>
          <DayOfWeek>Sunday</DayOfWeek>
        </DaylightTime>
      </t:TimeZone>
      <MailboxDataArray>
        <t:MailboxData>
          <t:Email>
            <t:Address>user1@example.com</t:Address>
          </t:Email>
          <t:AttendeeType>Required</t:AttendeeType>
          <t:ExcludeConflicts>false</t:ExcludeConflicts>
        </t:MailboxData>
        <t:MailboxData>
          <t:Email>
            <t:Address>user2@example.com</t:Address>
          </t:Email>
          <t:AttendeeType>Required</t:AttendeeType>
          <t:ExcludeConflicts>false</t:ExcludeConflicts>
        </t:MailboxData>
      </MailboxDataArray>
      <t:FreeBusyViewOptions>
        <t:TimeWindow>
          <t:StartTime>2006-10-16T00:00:00</t:StartTime>
          <t:EndTime>2006-10-16T23:59:59</t:EndTime>
        </t:TimeWindow>
        <t:MergedFreeBusyIntervalInMinutes>60</t:MergedFreeBusyIntervalInMinutes>
        <t:RequestedView>DetailedMerged</t:RequestedView>
      </t:FreeBusyViewOptions>
    </GetUserAvailabilityRequest>
  </soap:Body>
</soap:Envelope>

Weitere Informationen zum Abrufen vorgeschlagener Besprechungen mithilfe des SuggestionsViewOptions-Elements finden Sie im Schema im virtuellen EWS-Verzeichnis.

Der SOAP-Anforderungstext enthält die folgenden Elemente:

Erfolgreiche GetUserAvailability-Vorgangsantwort

Das folgende Beispiel zeigt eine erfolgreiche Antwort auf die GetUserAvailability-Vorgangsanforderung.

Hinweis

Die Kalenderereignisbezeichner wurden gekürzt, um die Lesbarkeit zu gewährleisten.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Header>
    <t:ServerVersionInfo MajorVersion="8" MinorVersion="0" MajorBuildNumber="665" MinorBuildNumber="7" 
                         xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" />
  </soap:Header>
  <soap:Body>
    <GetUserAvailabilityResponse xmlns="https://schemas.microsoft.com/exchange/services/2006/messages">
      <FreeBusyResponseArray>
        <FreeBusyResponse>
          <ResponseMessage ResponseClass="Success">
            <ResponseCode>NoError</ResponseCode>
          </ResponseMessage>
          <FreeBusyView>
            <FreeBusyViewType xmlns="https://schemas.microsoft.com/exchange/services/2006/types">DetailedMerged</FreeBusyViewType>
            <MergedFreeBusy xmlns="https://schemas.microsoft.com/exchange/services/2006/types">000002220220000000000000</MergedFreeBusy>
            <CalendarEventArray xmlns="https://schemas.microsoft.com/exchange/services/2006/types">
              <CalendarEvent>
                <StartTime>2006-10-16T06:00:00-07:00</StartTime>
                <EndTime>2006-10-16T06:30:00-07:00</EndTime>
                <BusyType>Busy</BusyType>
                <CalendarEventDetails>
                  <ID>14B6414B0</ID>
                  <Subject>Meet with Contoso Account Executives</Subject>
                  <Location />
                  <IsMeeting>false</IsMeeting>
                  <IsRecurring>false</IsRecurring>
                  <IsException>false</IsException>
                  <IsReminderSet>false</IsReminderSet>
                  <IsPrivate>false</IsPrivate>
                </CalendarEventDetails>
              </CalendarEvent>
              <CalendarEvent>
                <StartTime>2006-10-16T07:00:00-07:00</StartTime>
                <EndTime>2006-10-16T08:00:00-07:00</EndTime>
                <BusyType>Busy</BusyType>
                <CalendarEventDetails>
                  <ID>E14B6414B0B</ID>
                  <Subject>Pick up my groceries</Subject>
                  <Location />
                  <IsMeeting>false</IsMeeting>
                  <IsRecurring>false</IsRecurring>
                  <IsException>false</IsException>
                  <IsReminderSet>false</IsReminderSet>
                  <IsPrivate>false</IsPrivate>
                </CalendarEventDetails>
              </CalendarEvent>
              <CalendarEvent>
                <StartTime>2006-10-16T09:40:00-07:00</StartTime>
                <EndTime>2006-10-16T10:10:00-07:00</EndTime>
                <BusyType>Busy</BusyType>
                <CalendarEventDetails>
                  <ID>14B6414B0B1</ID>
                  <Subject>Meet with doctor</Subject>
                  <Location>Kirkland</Location>
                  <IsMeeting>false</IsMeeting>
                  <IsRecurring>false</IsRecurring>
                  <IsException>false</IsException>
                  <IsReminderSet>false</IsReminderSet>
                  <IsPrivate>false</IsPrivate>
                </CalendarEventDetails>
              </CalendarEvent>
            </CalendarEventArray>
            <WorkingHours xmlns="https://schemas.microsoft.com/exchange/services/2006/types">
              <TimeZone>
                <Bias>480</Bias>
                <StandardTime>
                  <Bias>0</Bias>
                  <Time>02:00:00</Time>
                  <DayOrder>5</DayOrder>
                  <Month>10</Month>
                  <DayOfWeek>Sunday</DayOfWeek>
                </StandardTime>
                <DaylightTime>
                  <Bias>-60</Bias>
                  <Time>02:00:00</Time>
                  <DayOrder>1</DayOrder>
                  <Month>4</Month>
                  <DayOfWeek>Sunday</DayOfWeek>
                </DaylightTime>
              </TimeZone>
              <WorkingPeriodArray>
                <WorkingPeriod>
                  <DayOfWeek>Monday Tuesday Wednesday Thursday Friday</DayOfWeek>
                  <StartTimeInMinutes>480</StartTimeInMinutes>
                  <EndTimeInMinutes>1020</EndTimeInMinutes>
                </WorkingPeriod>
              </WorkingPeriodArray>
            </WorkingHours>
          </FreeBusyView>
        </FreeBusyResponse>
        <FreeBusyResponse>
          <ResponseMessage ResponseClass="Success">
            <ResponseCode>NoError</ResponseCode>
          </ResponseMessage>
          <FreeBusyView>
            <FreeBusyViewType xmlns="https://schemas.microsoft.com/exchange/services/2006/types">FreeBusyMerged</FreeBusyViewType>
            <MergedFreeBusy xmlns="https://schemas.microsoft.com/exchange/services/2006/types">000000001100000000000000</MergedFreeBusy>
            <CalendarEventArray xmlns="https://schemas.microsoft.com/exchange/services/2006/types">
              <CalendarEvent>
                <StartTime>2006-10-16T09:00:00-07:00</StartTime>
                <EndTime>2006-10-16T10:00:00-07:00</EndTime>
                <BusyType>Tentative</BusyType>
              </CalendarEvent>
            </CalendarEventArray>
            <WorkingHours xmlns="https://schemas.microsoft.com/exchange/services/2006/types">
              <TimeZone>
                <Bias>480</Bias>
                <StandardTime>
                  <Bias>0</Bias>
                  <Time>02:00:00</Time>
                  <DayOrder>5</DayOrder>
                  <Month>10</Month>
                  <DayOfWeek>Sunday</DayOfWeek>
                </StandardTime>
                <DaylightTime>
                  <Bias>-60</Bias>
                  <Time>02:00:00</Time>
                  <DayOrder>1</DayOrder>
                  <Month>4</Month>
                  <DayOfWeek>Sunday</DayOfWeek>
                </DaylightTime>
              </TimeZone>
              <WorkingPeriodArray>
                <WorkingPeriod>
                  <DayOfWeek>Monday Tuesday Wednesday Thursday Friday</DayOfWeek>
                  <StartTimeInMinutes>480</StartTimeInMinutes>
                  <EndTimeInMinutes>1020</EndTimeInMinutes>
                </WorkingPeriod>
              </WorkingPeriodArray>
            </WorkingHours>
          </FreeBusyView>
        </FreeBusyResponse>
      </FreeBusyResponseArray>
    </GetUserAvailabilityResponse>
  </soap:Body>
</soap:Envelope>

Die Verfügbarkeitsinformationen für jeden Benutzer werden in einem eindeutigen FreeBusyResponse-Element angezeigt. Die Reihenfolge der Benutzer in der GetUserAvailability-Vorgangsanforderung bestimmt die Reihenfolge der Verfügbarkeitsdaten für jeden Benutzer in der Antwort.

An den Client wird ein Fehler zurückgegeben, wenn die Anzahl der Termine in dem zeitraum, der in der Abfrage definiert ist, größer als die vom Administrator angegebene maximale Anzahl ist. Die standardmäßige maximale Anzahl von Terminen beträgt 10.000 einzelne Instanzen und erweiterte Serienelemente. Diese Eigenschaft kann nur von einem Administrator konfiguriert werden.

In der Antwort werden folgende Elemente verwendet:

Siehe auch