Операция GetUserAvailabilityGetUserAvailability operation

Поиск сведений о GetUserAvailabilityной операции EWS.Find information about the GetUserAvailability EWS operation.

Операция GetUserAvailability предоставляет подробные сведения о доступности набора пользователей, помещений и ресурсов в течение заданного периода времени.The GetUserAvailability operation provides detailed information about the availability of a set of users, rooms, and resources within a specified time period.

Использование операции GetUserAvailabilityUsing the GetUserAvailability operation

Операция GetUserAvailability предоставляет сведения о доступности текущих пользователей на указанном уровне детализации.The GetUserAvailability operation provides current user availability information at a specified level of detail. Клиентские приложения, такие как Outlook, Outlook Web Access, Outlook Mobile Access и другие, используют адреса SMTP для идентификации запрашиваемых сведений о пользователях.Client applications such as Outlook, Outlook Web Access, Outlook Mobile Access, and others use SMTP addresses to identify the requested user information.

Служба доступности расширяет списки рассылки для получения сведений о доступности для каждого участника списка, если количество почтовых ящиков в списке рассылки меньше 100, что является максимальным количеством идентификаторов, которые может запросить операция GetUserAvailability .The Availability service expands distribution lists to retrieve the free/busy status for each member of the list, as long as the number of mailboxes in the distribution list is less than 100, which is the maximum number of identities that the GetUserAvailability operation can request. Сведения о доступности участников списка рассылки объединяются в один статус занятости для всего списка рассылки.The free/busy statuses of the members of the distribution list are merged into a single free/busy status for the whole distribution list.

В запросах клиентского приложения указывается период времени, в течение которого запрос доступности.Client application requests specify the time period of the availability query. По умолчанию для запрашиваемых сведений используется период времени 42 дней.The default time period for the requested information is 42 days. Если календарь пользователя содержит встречи или собрания, которые находятся в определенном периоде времени и не выходят за него, возвращается встреча.If the user's calendar contains appointments or meetings that are both within and outside the defined time period for the query, the appointment is returned.

Возвращаемые время встреч и собраний находятся в том же часовом поясе, что и клиентское приложение, запрашивающее собрание.The appointment and meeting times that are returned are in the same time zone as the client application that is requesting the meeting.

Служба доступности обрабатывает запрос для каждого клиента.The Availability service processes the request for each client. Служба развертывает все повторяющиеся встречи и возвращает максимальное количество сведений о календаре, которое у запрашивающего клиента имеет разрешение на получение.The service expands all the recurring appointments and returns the maximum number of calendar details that the requesting client has permission to receive.

Примечание

Если целевой почтовый ящик недоступен или не может быть найден, создается исключение маилреЦипиентнотфаундексцептион .If the target mailbox is unavailable or cannot be found, a MailRecipientNotFoundException exception is thrown. Клиент получает сообщение об ошибке, в котором говорится, что получатель не найден в службе каталогов Active Directory или в доменных службах Active Directory (AD DS).The client receives an error message that states that the mail recipient is not found in the Active Directory directory service or Active Directory Domain Services (AD DS).

Заголовки SOAP операции GetUserAvailabilityGetUserAvailability operation SOAP headers

Операция GetUserAvailability может использовать заголовки SOAP, указанные в приведенной ниже таблице.The GetUserAvailability operation can use the SOAP headers that are listed in the following table.

HeaderHeader ЭлементElement ОписаниеDescription
ОлицетворениеImpersonation
ексчанжеимперсонатионExchangeImpersonation
Определяет пользователя, который олицетворяет клиент.Identifies the user whom the client is impersonating. Этот заголовок является применимым для запроса.This header is applicable to a request.
рекуестверсионRequestVersion
рекуестсерверверсионRequestServerVersion
Определяет версию схемы для запроса операции.Identifies the schema version for the operation request. Этот заголовок является применимым для запроса.This header is applicable to a request.
серверверсионServerVersion
серверверсионинфоServerVersionInfo
Определяет версию сервера, который ответил на запрос.Identifies the version of the server that responded to the request. Этот заголовок является применимым для отклика.This header is applicable to a response.
тимезонеконтекстTimeZoneContext
тимезонеконтекстTimeZoneContext
Указывает заголовок SOAP, определяющий часовой пояс, который будет использоваться для всех ответов сервера.Specifies a SOAP header that identifies the time zone to be used for all responses from the server. Все значения времени, возвращаемые с сервера, будут преобразованы в указанный часовой пояс.All times that are returned from the server will be converted to the specified time zone. Этот заголовок является применимым для отклика.This header is applicable to a response.

Пример запроса GetUserAvailability: получение сведений о доступностиGetUserAvailability request example: Get availability information

В приведенном ниже примере запроса операции GetUserAvailability показано, как получить подробные сведения о доступности для двух пользователей в часовом поясе по тихоокеанскому времени.The following example of a GetUserAvailability operation request shows how to get detailed availability information for two users in the Pacific Time time zone.

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

Дополнительные сведения о получении предложенных собраний с помощью элемента сугжестионсвиевоптионс можно найти в схеме в виртуальном каталоге EWS.For more information about retrieving suggested meetings by using the SuggestionsViewOptions element, see the schema in the EWS virtual directory.

Текст SOAP Request содержит следующие элементы:The request SOAP body contains the following elements:

Успешный отклик операции GetUserAvailabilitySuccessful GetUserAvailability operation response

В следующем примере показан успешный ответ на запрос операции GetUserAvailability .The following example shows a successful response to the GetUserAvailability operation request.

Примечание

Идентификаторы событий календаря были сокращены для сохранения удобочитаемости.The calendar event identifiers have been shortened to preserve readability.

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

Сведения о доступности для каждого пользователя отображаются в уникальном элементе фрибусиреспонсе .The availability information for each user appears in a unique FreeBusyResponse element. Порядок пользователей в запросе операции GetUserAvailability определяет порядок данных о доступности для каждого пользователя в отклике.The order of users in the GetUserAvailability operation request determines the order of availability data for each user in the response.

В клиенте возвращается сообщение об ошибке, если количество встреч в периоде времени, определенном в запросе, превышает максимальное число, указанное администратором.An error will be returned to the client if the number of appointments in the time period that is defined in the query is greater than the administrator-specified maximum number. По умолчанию максимальное число встреч составляет 10 000 одиночных экземпляров и расширенных элементов повторения.The default maximum number of appointments is 10,000 single instances and expanded recurrence items. Это свойство можно настроить только администратором.This property can be configured only by an administrator.

В отклике используются следующие элементы:The following elements are used in the response:

См. такжеSee also