user: delta

名前空間: microsoft.graph

重要

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

ユーザーコレクション全体の読み取りを実行することなく、新規作成、更新、削除されたユーザーを取得することができます。詳しくは、「変更履歴」 をご覧ください。

注意

licenseAssignmentStates プロパティの変更は現在追跡されません。

アクセス許可

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

アクセス許可の種類 アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント) User.Read, User.ReadWrite, User.ReadBasic.All, User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
委任 (個人用 Microsoft アカウント) サポートされていません。
アプリケーション User.Read.All、User.ReadWrite.All、Directory.Read.All、Directory.ReadWrite.All

HTTP 要求

変更の追跡を開始するには、ユーザー リソースにデルタ関数を含む要求を実行します。

GET /users/delta

クエリ パラメーター

グループで変更の追跡を実行するときには、1 つまたは複数の delta 関数の呼び出しが必要になります。クエリ パラメーター ( $deltatokenおよび$skiptoken 以外) を使用する場合は、そのパラメーターを最初の delta 要求に指定する必要があります。指定されたパラメーターは、Microsoft Graph を使って自動的にエンコードされ、応答の @odata.nextLinkまたは@odata.deltaLink URL のトークン部分として指定されます。

必要なクエリ パラメーターを前もって 1 回指定しておくだけで済みます。

その後の要求では、前の応答で得られた @odata.nextLink@odata.deltaLink の URL をコピーして適用します。エンコード済みの必要なパラメーターがこの URL に既に含まれているためです。

クエリ パラメーター 種類 説明
$deltatoken string 同じユーザー コレクションの前の デルタ 関数の @odata.deltaLink URL で 状態トークンが返され、変更追跡のその回が完了したことを示します。このコレクションについて、このトークンを含む、@odata.deltaLink URL 全体を次の変更追跡のラウンドの最初の要求に保存し、適用します。
$skiptoken string 前の デルタ 関数の @odata.nextLink URL で 状態トークンが返され、同じユーザー コレクションで追跡されるその他の変更があることを示します。

OData クエリ パラメーター

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

  • 任意の GET リクエストと同様に $select クエリ パラメーターを使用して、最善のパフォーマンスを得るために必要なプロパティのみを指定することができます。Id プロパティは常に返されます。
  • $filter に対するサポートには制限があります。
    • サポートされている唯一の $filter 式は、特定のオブジェクトでの変更を追跡する $filter=id+eq+{value} です。 複数のオブジェクトをフィルター処理することができます。 たとえば、https://graph.microsoft.com/beta/users/delta/?$filter= id eq '477e9fc6-5de7-4406-bb2a-7e5c83c9ffff' or id eq '004d6a07-fe70-4b92-add5-e6e37b8affff' などです。 フィルター処理されるオブジェクトには 50 の数量制限があります。

要求ヘッダー

名前 説明
Authorization Bearer <token>
Content-Type application/json
Prefer return=minimal.

@odata.deltaLink を使用するリクエストでこのヘッダーを指定すると、前回のラウンド以降に変更されたオブジェクトプロパティのみが返されます。オプションです。

要求本文

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

応答

成功した場合、このメソッドは 200 OK レスポンスコードと ユーザー コレクションオブジェクトをレスポンスボディに返します。また、レスポンスには @odata.nextLink URL や @odata.deltaLink URL も含まれます。

  • もし@odata.nextLink URL が返された場合:

    • これは、セッション内に取得すべきデータのページが追加されていることを示す。アプリケーションは、レスポンスに @odata.deltaLink URLが含まれるまで、その @odata.nextLink URLを使ってリクエストをし続けます。
    • 応答には、最初のデルタクエリ要求と同じ一連のプロパティが含まれています。 これにより、デルタサイクルを開始するときに、オブジェクトの現在の完全な状態をキャプチャできます。
  • もし@odata.deltaLink URL が返された場合:

    • これは、返されるリソースの既存の状態に関するデータがこれ以上ないことを示します。 @odata.deltaLink URL を、次回のラウンドでリソースへの変更について学ぶために保存して使ってください。
    • Prefer:return=minimal ヘッダーを指定して、@odata.deltaLink発行後に変更されたプロパティのみをレスポンス値に含めるように選択することもできます。

デフォルト:初期デルタリクエストと同じプロパティを返します

デフォルトでは、@odata.deltaLinkまたは@odata.nextLinkを使用したリクエストは、最初のデルタクエリで選択されたものと同じプロパティを次のように返します:

  • プロパティを変更した場合は、応答には新しい値が含まれます。 これには、null 値に設定されているプロパティが含まれます。
  • プロパティが変更されていない場合は、古い値が応答に含まれています。
  • プロパティが設定されたことがない場合は、応答にまったく含まれません。

注意: この動作では、応答を見ても、プロパティが変化しているかどうかを判断することはできません。 また、デルタ応答は例 2 に示されるようにすべてのプロパティ値を含むため、大きくなる傾向があります。

代替案:変更されたプロパティのみを返す

オプションのリクエストヘッダを追加すると、- prefer:return=minimal - 次のようになります:

  • プロパティを変更した場合は、応答には新しい値が含まれます。 これには、null 値に設定されているプロパティが含まれます。
  • プロパティが変更されていない場合、そのプロパティは応答にまったく含まれません。(既定の動作とは異なります。)

注意: ヘッダーは、デルタサイクルのどの時点でも @odata.deltaLink要求に追加できます。 ヘッダーは応答に含まれる一連のプロパティにのみ影響し、デルタクエリの実行方法には影響しません。 例 3 を参照してください。

例 1: 既定のプロパティ

要求

要求の例を次に示します。 $selectパラメータがないため、デフォルトのプロパティセットが追跡されて返されます。

GET https://graph.microsoft.com/beta/users/delta

応答

以下は、クエリ初期化から取得した@odata.deltaLink を使用した場合の応答の例です。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

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

{
  "@odata.context":"https://graph.microsoft.com/beta/$metadata#users",
  "@odata.nextLink":"https://graph.microsoft.com/beta/users/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
  "value": [
    {
      "businessPhones": [
          "+1 425 555 0109"
      ],
      "displayName": "Adele Vance",
      "givenName": "Adele",
      "jobTitle": "Retail Manager",
      "mail": "AdeleV@contoso.onmicrosoft.com",
      "mobilePhone": "+1 425 555 0109",
      "officeLocation": "18/2111",
      "preferredLanguage": "en-US",
      "surname": "Vance",
      "userPrincipalName": "AdeleV@contoso.onmicrosoft.com",
      "id": "87d349ed-44d7-43e1-9a83-5f2406dee5bd"
    }
  ]
}

例 2: 3 つのプロパティの選択

要求

次の例は、既定の応答動作で、変更追跡のために 3 つのプロパティを選択する最初の要求を示しています。

GET https://graph.microsoft.com/beta/users/delta?$select=displayName,jobTitle,mobilePhone

応答

以下は、クエリ初期化から取得した@odata.deltaLink を使用した場合の応答の例です。 3 つのプロパティすべてが応答に含まれており、@odata.deltaLink が取得されてからどのプロパティが変更されたのかはわかりません。

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

{
  "@odata.context":"https://graph.microsoft.com/beta/$metadata#users",
  "@odata.nextLink":"https://graph.microsoft.com/beta/users/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
  "value": [
    {
      "displayName": "Adele Vance",
      "jobTitle": "Retail Manager",
      "mobilePhone": "+1 425 555 0109"
    }
  ]
}

例 3: 代替の最小限の応答の動作

要求

次の例は、最初のリクエストが代替の最小限の応答の変更追跡のために 3 つのプロパティを選択していることを示しています。

GET https://graph.microsoft.com/beta/users/delta?$select=displayName,jobTitle,mobilePhone
Prefer: return=minimal

応答

以下は、クエリ初期化から取得した@odata.deltaLink を使用した場合の応答の例です。 このmobilePhoneプロパティは含まれていないことに注意してください 。つまり、最後のデルタクエリ以降変更されていません;displayNamejobTitle が含まれており、それらの値は変更されていることを意味します。

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

{
  "@odata.context":"https://graph.microsoft.com/beta/$metadata#users",
  "@odata.nextLink":"https://graph.microsoft.com/beta/users/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
  "value": [
    {
      "displayName": "Vance Adele",
      "jobTitle": "Product Marketing Manager"
    }
  ]
}

関連項目