イベントを一覧表示する

名前空間: microsoft.graph

重要

Microsoft Graph のバージョンの /beta API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 API が v1.0 で使用できるかどうかを確認するには、 バージョン セレクターを使用します。

ユーザーの既定の予定表、または指定された予定表からイベント オブジェクトの一覧を取得します。 一覧には、単一インスタンスの会議と定期的なマスターが含まれています。

拡張イベントのインスタンスを取得すると、予定表ビューを取得するまたはイベントのインスタンスを取得することができます。

アプリが別のユーザーの予定表のイベントを取得できるシナリオが 2 つあります。

  • アプリにアプリケーションのアクセス許可がある場合。または
  • あるユーザーからアプリに適切な代理アクセス許可が付与され、別のユーザーがそのユーザーと予定表を共有しているか、そのユーザーに代理アクセスを付与している場合。「詳細と例」を参照してください。

さまざまなタイム ゾーンをサポートします。

イベントを返す GET 操作の場合は、すべての操作で Prefer: outlook.timezone ヘッダーを使用して、応答のイベントの開始時刻と終了時刻のタイム ゾーンを指定できます。

たとえば、次の Prefer: outlook.timezone ヘッダーは、応答の開始時刻と終了時刻を東部標準時に設定します。

Prefer: outlook.timezone="Eastern Standard Time"

イベントが別のタイム ゾーンで作成された場合は、開始時刻と終了時刻は Prefer ヘッダーで指定したタイム ゾーンに合わせて調整されます。サポートされているタイム ゾーン名については、この一覧を参照してください。Prefer: outlook.timezone ヘッダーを指定しない場合、開始時刻と終了時刻は UTC で返されます。

イベント リソース上で OriginalStartTimeZone プロパティと OriginalEndTimeZone プロパティを使用して、イベント作成時に使用されたタイム ゾーンを検索できます。

アクセス許可

この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。

アクセス許可の種類 アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント) Calendars.Read、Calendars.ReadWrite
委任 (個人用 Microsoft アカウント) Calendars.Read、Calendars.ReadWrite
アプリケーション Calendars.Read、Calendars.ReadWrite

HTTP 要求

GET /me/events
GET /users/{id | userPrincipalName}/events

GET /me/calendar/events
GET /users/{id | userPrincipalName}/calendar/events

GET /me/calendars/{id}/events
GET /users/{id | userPrincipalName}/calendars/{id}/events

GET /me/calendargroups/{id}/calendars/{id}/events
GET /users/{id | userPrincipalName}/calendargroups/{id}/calendars/{id}/events

オプションのクエリ パラメーター

このメソッドは、応答をカスタマイズするための OData クエリ パラメーターをサポートします。

要求ヘッダー

名前 種類 説明
Authorization string ベアラー {token}。必須。
優先: outlook.timezone string これを使用して、応答内の開始および終了時刻のタイム ゾーンを指定します。指定しなかった場合、時刻の値は UTC で返されます。オプション。
Prefer: outlook.body-content-type string body プロパティが返されるときの形式です。 値は、"text" または "html" になります。 この Prefer ヘッダーが指定されている場合、Preference-Applied ヘッダーが確認として返されます。 このヘッダーが指定されていない場合は、body プロパティが HTML 形式で返されます。 省略可能。

要求本文

このメソッドには、要求本文を指定しません。

応答

成功した場合、このメソッドは 200 OK 応答コードと、応答本文で event オブジェクトのコレクションを返します。

要求 1

最初の例では、すべてのユーザーのイベントを取得します。以下を指定します。

  • 太平洋標準時で返される日時の値を取得するための Prefer: outlook.timezone ヘッダー。
  • 特定のプロパティを返すための $select クエリ パラメーター。$select パラメーターを使用しないと、すべてのイベント プロパティが返されます。

要求では、返されたイベント本体の具体的な形式を示す Prefer: outlook.body-content-type ヘッダーを指定しません。

GET https://graph.microsoft.com/beta/me/events?$select=subject,body,bodyPreview,organizer,attendees,start,end,location
Prefer: outlook.timezone="Pacific Standard Time"
応答 1

以下は、応答の例です。 Prefer: outlook.body-content-type ヘッダーが指定されていないため、body プロパティが既定の HTML 形式で返されます。

HTTP/1.1 200 OK
Content-type: application/json
Preference-Applied: outlook.timezone="Pacific Standard Time"

{
    "@odata.context":"https://graph.microsoft.com/beta/$metadata#users('cd209b0b-3f83-4c35-82d2-d88a61820480')/events(subject,body,bodyPreview,organizer,attendees,start,end,location)",
    "value":[
        {
            "@odata.etag":"W/\"ZlnW4RIAV06KYYwlrfNZvQAAKGWwbw==\"",
            "id":"AAMkAGIAAAoZDOFAAA=",
            "subject":"Orientation ",
            "bodyPreview":"Dana, this is the time you selected for our orientation. Please bring the notes I sent you.",
            "body":{
                "contentType":"html",
                "content":"<html><head></head><body><p>Dana, this is the time you selected for our orientation. Please bring the notes I sent you.</p></body></html>"
            },
            "start":{
                "dateTime":"2017-04-21T10:00:00.0000000",
                "timeZone":"Pacific Standard Time"
            },
            "end":{
                "dateTime":"2017-04-21T12:00:00.0000000",
                "timeZone":"Pacific Standard Time"
            },
            "location": {
                "displayName": "Assembly Hall",
                "locationType": "default",
                "uniqueId": "Assembly Hall",
                "uniqueIdType": "private"
            },
            "locations": [
                {
                    "displayName": "Assembly Hall",
                    "locationType": "default",
                    "uniqueIdType": "unknown"
                }
            ],
            "attendees":[
                {
                    "type":"required",
                    "status":{
                        "response":"none",
                        "time":"0001-01-01T00:00:00Z"
                    },
                    "emailAddress":{
                        "name":"Samantha Booth",
                        "address":"samanthab@a830edad905084922E17020313.onmicrosoft.com"
                    }
                },
                {
                    "type":"required",
                    "status":{
                        "response":"none",
                        "time":"0001-01-01T00:00:00Z"
                    },
                    "emailAddress":{
                        "name":"Dana Swope",
                        "address":"danas@a830edad905084922E17020313.onmicrosoft.com"
                    }
                }
            ],
            "organizer":{
                "emailAddress":{
                    "name":"Samantha Booth",
                    "address":"samanthab@a830edad905084922E17020313.onmicrosoft.com"
                }
            }
        }
    ]
}
要求 2

2 番目の例は、Prefer: outlook.body-content-type="text" ヘッダーを使用して指定されたメッセージの body プロパティをテキスト形式で取得する方法を示しています。

この要求も、$select クエリ パラメーターを使用して特定のプロパティを返します。 $select パラメーターを使用しないと、すべてのイベント プロパティが返されます。

GET https://graph.microsoft.com/beta/me/events?$select=subject,body,bodyPreview
Prefer: outlook.body-content-type="text"
応答 2

以下は、応答の例です。 body プロパティがテキスト形式で返されます。

HTTP/1.1 200 OK
Content-type: application/json
Preference-Applied: outlook.body-content-type="text"

{
    "@odata.context":"https://graph.microsoft.com/beta/$metadata#users('cd209b0b-3f83-4c35-82d2-d88a61820480')/events(subject,body,bodyPreview)",
    "value":[
        {
            "@odata.etag":"W/\"ZlnW4RIAV06KYYwlrfNZvQAAKGWwbw==\"",
            "id":"AAMkAGIAAAoZDOFAAA=",
            "subject":"Orientation ",
            "bodyPreview":"Dana, this is the time you selected for our orientation. Please bring the notes I sent you.",
            "body":{
                "contentType":"text",
                "content":"Dana, this is the time you selected for our orientation. Please bring the notes I sent you.\r\n"
            }
        }
    ]
}