GetUserAvailability 操作
GetUserAvailability EWS 操作に関する情報を検索します。
GetUserAvailability 操作は、指定した期間内に一連のユーザー、会議室、およびリソースの可用性に関する詳細情報を提供します。
GetUserAvailability 操作の使用
GetUserAvailability 操作は、指定された詳細レベルで現在のユーザーの可用性情報を提供します。 Outlook、Outlook Web Access、Outlook Mobile Access などのクライアント アプリケーションでは、SMTP アドレスを使用して、要求されたユーザー情報を識別します。
可用性サービスは、配布リスト内のメールボックスの数が 100 未満である限り、リストの各メンバーの空き時間情報の状態を取得するために配布リストを展開します。これは、 GetUserAvailability 操作で要求できる ID の最大数です。 配布リストのメンバーの空き時間情報の状態は、配布リスト全体の 1 つの空き時間情報の状態にマージされます。
クライアント アプリケーション要求では、可用性クエリの期間を指定します。 要求された情報の既定の期間は 42 日です。 ユーザーの予定表に、クエリの定義された期間内と範囲外の予定または会議が含まれている場合、予定が返されます。
返される予定と会議時間は、会議を要求しているクライアント アプリケーションと同じタイム ゾーンにあります。
Availability サービスは、各クライアントの要求を処理します。 サービスは、定期的な予定をすべて展開し、要求するクライアントが受け取るアクセス許可を持つ予定表の詳細の最大数を返します。
注:
ターゲット メールボックスが使用できない場合、または見つからない場合は、 MailRecipientNotFoundException 例外がスローされます。 クライアントは、メール受信者が Active Directory ディレクトリ サービスまたは Active Directory Domain Services (AD DS) で見つからないことを示すエラー メッセージを受け取ります。
GetUserAvailability 操作 SOAP ヘッダー
GetUserAvailability 操作では、次の表に示す SOAP ヘッダーを使用できます。
Header | 要素 | 説明 |
---|---|---|
偽装 |
ExchangeImpersonation |
クライアントが偽装しているユーザーを識別します。 このヘッダーは要求に適用されます。 |
RequestVersion |
RequestServerVersion |
操作要求のスキーマ バージョンを識別します。 このヘッダーは要求に適用されます。 |
ServerVersion |
ServerVersionInfo |
要求に応答したサーバーのバージョンを識別します。 このヘッダーは、応答に適用できます。 |
TimeZoneContext |
TimeZoneContext |
サーバーからのすべての応答に使用するタイム ゾーンを識別する SOAP ヘッダーを指定します。 サーバーから返されるすべての時刻は、指定したタイム ゾーンに変換されます。 このヘッダーは、応答に適用できます。 |
GetUserAvailability 要求の例: 可用性情報を取得する
GetUserAvailability 操作要求の次の例は、太平洋タイム ゾーン内の 2 人のユーザーの詳細な可用性情報を取得する方法を示しています。
<?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="http://schemas.microsoft.com/exchange/services/2006/types">
<soap:Body>
<GetUserAvailabilityRequest xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<t:TimeZone xmlns="http://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>
SuggestionsViewOptions 要素を使用して提案された会議を取得する方法の詳細については、EWS 仮想ディレクトリのスキーマを参照してください。
要求 SOAP 本文には、次の要素が含まれています。
GetUserAvailability 操作の応答に成功しました
次の例は、 GetUserAvailability 操作要求に対する正常な応答を示しています。
注:
予定表のイベント識別子は、読みやすさを維持するために短縮されました。
<?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="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<GetUserAvailabilityResponse xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<FreeBusyResponseArray>
<FreeBusyResponse>
<ResponseMessage ResponseClass="Success">
<ResponseCode>NoError</ResponseCode>
</ResponseMessage>
<FreeBusyView>
<FreeBusyViewType xmlns="http://schemas.microsoft.com/exchange/services/2006/types">DetailedMerged</FreeBusyViewType>
<MergedFreeBusy xmlns="http://schemas.microsoft.com/exchange/services/2006/types">000002220220000000000000</MergedFreeBusy>
<CalendarEventArray xmlns="http://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="http://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="http://schemas.microsoft.com/exchange/services/2006/types">FreeBusyMerged</FreeBusyViewType>
<MergedFreeBusy xmlns="http://schemas.microsoft.com/exchange/services/2006/types">000000001100000000000000</MergedFreeBusy>
<CalendarEventArray xmlns="http://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="http://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>
各ユーザーの可用性情報は、一意の FreeBusyResponse 要素に 表示されます。 GetUserAvailability 操作要求のユーザーの順序によって、応答の各ユーザーの可用性データの順序が決まります。
クエリで定義されている期間内の予定の数が管理者が指定した最大数を超える場合、エラーがクライアントに返されます。 予定の既定の最大数は、10,000 個の単一インスタンスと展開された繰り返し項目です。 このプロパティは、管理者のみが構成できます。
応答では、次の要素が使用されます。