calendar: getSchedulecalendar: getSchedule

重要

Microsoft Graph の/betaバージョンの api は変更される可能性があります。APIs under the /beta version in Microsoft Graph are subject to change. 実稼働アプリケーションでは、これらの API の使用はサポートされていません。Use of these APIs in production applications is not supported.

指定された期間のユーザー、配布リスト、またはリソース(部屋または備品)のコレクションの空き時間情報を取得します。Get the free/busy availability information for a collection of users, distributions lists, or resources (rooms or equipment) for a specified time period.

アクセス許可Permissions

この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

アクセス許可の種類Permission type アクセス許可 (特権の小さいものから大きいものへ)Permissions (from least to most privileged)
委任 (職場または学校のアカウント)Delegated (work or school account) Calendars.Read、Calendars.ReadWriteCalendars.Read, Calendars.ReadWrite
委任 (個人用 Microsoft アカウント)Delegated (personal Microsoft account) サポートされていません。Not supported.
アプリケーションApplication Calendars.Read、Calendars.ReadWriteCalendars.Read, Calendars.ReadWrite

HTTP 要求HTTP request

POST /me/calendar/getSchedule 
POST /users/{id|userPrincipalName}/calendar/getSchedule

要求ヘッダーRequest headers

名前Name 種類Type 説明Description
AuthorizationAuthorization stringstring ベアラー {トークン}。必須。Bearer {token}. Required.
Content-TypeContent-Type stringstring エンティティの本体内にあるデータの性質 (application/json)。Nature of the data in the body of an entity, which is application/json. 必須。Required.
優先: outlook.timezonePrefer: outlook.timezone stringstring これを使用して、応答内の開始および終了時刻のタイム ゾーンを指定します。Use this to specify the time zone for start and end times in the response. 指定しない場合、これらの時刻値は UTC で返されます。If not specified, those time values are returned in UTC. 省略可能。Optional.

要求本文Request body

要求本文で、次のパラメーターを含む JSON オブジェクトを指定します。In the request body, provide a JSON object with the following parameters.

プロパティProperty Type 説明Description
availabilityViewIntervalavailabilityViewInterval Int32Int32 応答内の availabilityView の時間帯の期間を表します。Represents the duration of a time slot in an availabilityView in the response. 既定値は 30 分。最小値 6、最大値は 1440 です。The default is 30 minutes, minimum is 6, maximum is 1440. 省略可能。Optional.
endTimeendTime dateTimeTimeZonedateTimeTimeZone 期間が終了する日付、時刻、タイムゾーン。The date, time, and time zone that the period ends.
スケジュールschedules String コレクションString collection 空き時間情報を取得する対象のユーザーの SMTP アドレス、配布リスト、またはリソースのコレクション。A collection of SMTP addresses of users, distribution lists, or resources to get availability information for.
startTimestartTime dateTimeTimeZonedateTimeTimeZone 期間が開始する日付、時刻、タイムゾーン。The date, time, and time zone that the period starts.

応答Response

成功した場合、このメソッドは 200 OK 応答コードと、schedules パラメーター内の各オブジェクトに対応する scheduleInformation オブジェクトのコレクションを返します。If successful, this method returns a 200 OK response code and a collection of scheduleInformation objects for each object in the schedules parameter.

Example

要求Request

次の例では、指定した日時およびタイム ゾーンについて、2 人のユーザーの空き時間情報を取得します。The following example gets the availability information for two users for the specified date, time, and time zone.

POST https://graph.microsoft.com/beta/me/calendar/getSchedule 
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json

{        
    "schedules": ["adelev@contoso.onmicrosoft.com", "meganb@contoso.onmicrosoft.com"],
    "startTime": {
        "dateTime": "2019-03-15T09:00:00",
        "timeZone": "Pacific Standard Time"
    },
    "endTime": {
        "dateTime": "2019-03-15T18:00:00",
        "timeZone": "Pacific Standard Time"
    },
    "availabilityViewInterval": 60
}
応答Response

以下は、応答の例です。注:簡潔にするために、ここに示す応答オブジェクトは切り詰められている場合があります。すべてのプロパティは実際の呼び出しから返されます。Here is an example of the response. Note: The response object shown here may be truncated for brevity. All of the properties will be returned from an actual call.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(microsoft.graph.scheduleInformation)",
    "value": [
        {
            "scheduleId": "adelev@contoso.onmicrosoft.com",
            "availabilityView": "000220000",
            "scheduleItems": [
                {
                    "isPrivate": false,
                    "status": "busy",
                    "subject": "Let's go for lunch",
                    "location": "Harry's Bar",
                    "start": {
                        "dateTime": "2019-03-15T12:00:00.0000000",
                        "timeZone": "Pacific Standard Time"
                    },
                    "end": {
                        "dateTime": "2019-03-15T14:00:00.0000000",
                        "timeZone": "Pacific Standard Time"
                    }
                }
            ],
            "workingHours": {
                "daysOfWeek": [
                    "monday",
                    "tuesday",
                    "wednesday",
                    "thursday",
                    "friday"
                ],
                "startTime": "08:00:00.0000000",
                "endTime": "17:00:00.0000000",
                "timeZone": {
                    "name": "Pacific Standard Time"
                }
            }
        },
        {
            "scheduleId": "meganb@contoso.onmicrosoft.com",
            "availabilityView": "200220010",
            "scheduleItems": [
                {
                    "status": "busy",
                    "start": {
                        "dateTime": "2019-03-15T08:30:00.0000000",
                        "timeZone": "Pacific Standard Time"
                    },
                    "end": {
                        "dateTime": "2019-03-15T09:30:00.0000000",
                        "timeZone": "Pacific Standard Time"
                    }
                },
                {
                    "status": "busy",
                    "start": {
                        "dateTime": "2019-03-15T12:00:00.0000000",
                        "timeZone": "Pacific Standard Time"
                    },
                    "end": {
                        "dateTime": "2019-03-15T14:00:00.0000000",
                        "timeZone": "Pacific Standard Time"
                    }
                },
                {
                    "status": "tentative",
                    "start": {
                        "dateTime": "2019-03-15T12:00:00.0000000",
                        "timeZone": "Pacific Standard Time"
                    },
                    "end": {
                        "dateTime": "2019-03-15T13:00:00.0000000",
                        "timeZone": "Pacific Standard Time"
                    }
                },
                {
                    "status": "busy",
                    "start": {
                        "dateTime": "2019-03-15T13:00:00.0000000",
                        "timeZone": "Pacific Standard Time"
                    },
                    "end": {
                        "dateTime": "2019-03-15T14:00:00.0000000",
                        "timeZone": "Pacific Standard Time"
                    }
                },
                {
                    "status": "tentative",
                    "start": {
                        "dateTime": "2019-03-15T16:00:00.0000000",
                        "timeZone": "Pacific Standard Time"
                    },
                    "end": {
                        "dateTime": "2019-03-15T17:00:00.0000000",
                        "timeZone": "Pacific Standard Time"
                    }
                }
            ],
            "workingHours": {
                "daysOfWeek": [
                    "monday",
                    "tuesday",
                    "wednesday",
                    "thursday",
                    "friday"
                ],
                "startTime": "08:00:00.0000000",
                "endTime": "17:00:00.0000000",
                "timeZone": {
                    "@odata.type": "#microsoft.graph.customTimeZone",
                    "bias": 480,
                    "name": "Customized Time Zone",
                    "standardOffset": {
                        "time": "02:00:00.0000000",
                        "dayOccurrence": 1,
                        "dayOfWeek": "sunday",
                        "month": 11,
                        "year": 0
                    },
                    "daylightOffset": {
                        "daylightBias": -60,
                        "time": "02:00:00.0000000",
                        "dayOccurrence": 2,
                        "dayOfWeek": "sunday",
                        "month": 3,
                        "year": 0
                    }
                }
            }
        }
    ]
}