イベント: デルタevent: delta

ユーザーの標準として設定されている予定表のcalendarView において追加、削除、更新された一連のイベント (さまざまなイベント) を取得します。Get a set of events that have been added, deleted, or updated in a calendarView (a range of events) of the user's primary calendar.

イベントのデルタ関数呼び出しは、ユーザーの標準として設定されている予定表のさまざまな日付に対する GET /calendarview 要求に似ていますが、これら 1 つ以上の呼び出しにおいて状態トークンを適切に適用することにより、そのカレンダー ビュー内における増分変化に対してクエリを実行できる点が異なります。これにより、標準として設定されている予定表のユーザー イベントのローカル格納の保守と同期を行う際に、サーバーからその予定表のイベントすべてを毎回フェッチする必要がなくなります。A delta function call for events is similar to a GET /calendarview request for a range of dates in the user's primary calendar, except that by appropriately applying state tokens in one or more of these calls, you can query for incremental changes in that calender view. This allows you to maintain and synchronize a local store of a user's events in the primary calendar, without having to fetch all the events of that calendar from the server every time.

アクセス許可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.ReadCalendars.Read
委任 (個人用 Microsoft アカウント)Delegated (personal Microsoft account) Calendars.ReadCalendars.Read
アプリケーションApplication Calendars.ReadCalendars.Read

HTTP 要求HTTP request

GET /me/calendarView/delta?startDateTime={start_datetime}&endDateTime={end_datetime}
GET /users/{id}/calendarView/delta?startDateTime={start_datetime}&endDateTime={end_datetime}

クエリ パラメーターQuery parameters

イベントの変化を追跡することにより、1 回以上の、一連のデルタ関数呼び出しが発生します。任意のクエリ パラメーター ($deltatoken$skiptoken 以外) を使用する場合は、最初のデルタ要求でこれを指定する必要があります。Microsoft Graph は、応答で提供される nextLink または deltaLink の URL のトークン部分に指定したパラメーターを自動的にエンコードします。必要なクエリ パラメーターを前もって指定しておくだけで済みます。それ以降の要求では、前の応答で nextLink または deltaLink の URL に必要なパラメーターが既にエンコードされ、含まれているため、この URL をコピーして適用します。Tracking changes in events incurs a round of one or more delta function calls. If you use any query parameter (other than $deltatoken and $skiptoken), you must specify it in the initial delta request. Microsoft Graph automatically encodes any specified parameters into the token portion of the nextLink or deltaLink URL provided in the response. You only need to specify any desired query parameters once upfront. In subsequent requests, simply copy and apply the nextLink or deltaLink URL from the previous response, as that URL already includes the encoded, desired parameters.

クエリ パラメーターQuery parameter 種類Type 説明Description
startDateTimestartDateTime StringString 時間範囲の開始日時は、ISO 8601 形式で表されます。例: "2015-11-08T19:00:00.0000000"。The start date and time of the time range, represented in ISO 8601 format. For example, "2015-11-08T19:00:00.0000000".
endDateTimeendDateTime StringString 時間範囲の終了日時は、ISO 8601 形式で表されます。例: "2015-11-08T20:00:00.0000000"。The end date and time of the time range, represented in ISO 8601 format. For example, "2015-11-08T20:00:00.0000000".
$deltatoken$deltatoken stringstring 同じカレンダー ビュー用の前のデルタ関数呼び出しの deltaLink URL で返された状態トークンで、その一連の変更追跡が完了したことを示します。このトークンを含む deltaLink URL 全体を、該当カレンダー ビュー用の次回の一連の変更追跡の最初の要求内に保存し、適用します。A state token returned in the deltaLink URL of the previous delta function call for the same calendar view, indicating the completion of that round of change tracking. Save and apply the entire deltaLink URL including this token in the first request of the next round of change tracking for that calendar view.
$skiptoken$skiptoken stringstring 前のデルタ関数呼び出しの nextLink URL 内で返された状態トークンで、同じカレンダー ビュー内に追跡されるべきさらなる変化があることを示しています。A state token returned in the nextLink URL of the previous delta function call, indicating there are further changes to be tracked in the same calendar view.

カレンダー ビューでデルタ クエリを実行する場合、GET /calendarview 要求で通常得られるプロパティのすべてを得られると予期します。この場合、$select はサポートされていません。When you do a delta query on a calendar view, expect to get all the properties you'd normally get from a GET /calendarview request. $select is not supported in this case.

要求ヘッダーRequest headers

名前Name Type 説明Description
AuthorizationAuthorization stringstring ベアラー {トークン}。必須。Bearer {token}. Required.
Content-TypeContent-Type stringstring application/json. Required.application/json. Required.
PreferPrefer stringstring odata.maxpagesize={x}.省略可能。odata.maxpagesize={x}. Optional.
PreferPrefer stringstring {タイム ゾーン}。省略可能。指定しない場合、UTC が使用されます。{Time zone}. Optional, UTC assumed if absent.

応答Response

成功した場合、このメソッドは 200 OK の応答コードと、応答本文で イベント コレクション オブジェクトを返します。If successful, this method returns a 200 OK response code and event collection object in the response body.

Example

要求Request

次の例では、1 回のデルタ関数呼び出しを行い、応答本文中のイベントの最大数を 2 に制限する方法を示します。The following example shows how to make a single delta function call, and limit the maximum number of events in the response body to 2.

カレンダー ビュー内の変更を追跡するには、1 回以上のデルタ関数呼び出しを作成し、適切な状態トークンを使用して、前回のデルタ クエリ以降になされた一連の増分変更を取得します。To track changes in a calendar view, you would make one or more delta function calls, with appropriate state tokens, to get the set of incremental changes since the last delta query.

GET https://graph.microsoft.com/v1.0/me/calendarView/delta?startdatetime={start_datetime}&enddatetime={end_datetime}

Prefer: odata.maxpagesize=2
応答Response

要求が成功した場合、応答に含まれる状態トークンは、スキップ トークン (@odata.nextLink_ 応答ヘッダーに含まれる) か、デルタ トークン (@odata.deltaLink_ 応答ヘッダーに含まれる) のいずれかになります。前者はその回を続行する必要があることを示し、後者はその回のすべての変更の取得が完了したことを示します。If the request is successful, the response would include a state token, which is either a skipToken (in an _@odata.nextLink_ response header) or a deltaToken (in an _@odata.deltaLink_ response header). Respectively, they indicate whether you should continue with the round or you have completed getting all the changes for that round.

以下の応答は、_@odata.nextLink_ 応答ヘッダーに含まれる skipToken を示しています。The response below shows a skipToken in an _@odata.nextLink_ response header.

注:簡潔にするために、ここに示す応答オブジェクトは切り詰められている場合があります。すべてのプロパティは実際の呼び出しから返されます。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
Content-length: 359

{
  "@odata.nextLink":"https://graph.microsoft.com/v1.0/me/calendarView/delta?$skiptoken={_skipToken_}",
  "value": [
    {
      "originalStartTimeZone": "originalStartTimeZone-value",
      "originalEndTimeZone": "originalEndTimeZone-value",
      "responseStatus": {
        "response": "response-value",
        "time": "datetime-value"
      },
      "iCalUId": "iCalUId-value",
      "reminderMinutesBeforeStart": 99,
      "isReminderOn": true
    }
  ]
}

SDK サンプル コードSDK sample code


GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var queryOptions = new List<QueryOption>()
{
    new QueryOption("startdatetime", "{start_datetime}"),
    new QueryOption("enddatetime", "{end_datetime}")
};

var delta = await graphClient.Me.CalendarView.Delta()
    .Request( queryOptions )
    .GetAsync();

SDK をプロジェクトに追加し、 authproviderインスタンスを作成する方法の詳細については、 sdk のドキュメントを参照してください。Read the SDK documentation for details on how to add the SDK to your project and create an authProvider instance.

関連項目See also