名前空間: microsoft.graph
コレクション全体の完全な読み取りを実行することなく、新しく作成、更新、または削除された組織の連絡先を取得します。 詳細については、「 デルタ クエリを使用して Microsoft Graph データの変更を追跡する 」を参照してください。
この API は、次の国内クラウド展開で使用できます。
| グローバル サービス |
米国政府機関 L4 |
米国政府機関 L5 (DOD) |
21Vianet が運営する中国 |
| ✅ |
✅ |
✅ |
✅ |
アクセス許可
この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。
アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。
| アクセス許可の種類 |
最小特権アクセス許可 |
より高い特権のアクセス許可 |
| 委任 (職場または学校のアカウント) |
OrgContact.Read.All |
Directory.Read.All、Directory.ReadWrite.All |
| 委任 (個人用 Microsoft アカウント) |
サポートされていません。 |
サポートされていません。 |
| アプリケーション |
OrgContact.Read.All |
Directory.Read.All、Directory.ReadWrite.All |
重要
職場または学校アカウントを使用した委任されたシナリオでは、サインインしているユーザーに、サポートされているMicrosoft Entraロールまたはサポートされているロールのアクセス許可を持つカスタム ロールを割り当てる必要があります。 この操作では、次の最小特権ロールがサポートされています。
- ディレクトリ リーダー - 基本的なプロパティの読み取り
- グローバル閲覧者
- ディレクトリ製作者
- Intune管理者
- ユーザー管理者
HTTP 要求
変更の追跡を開始するには、連絡先リソースのデルタ関数を含む要求を行います。
GET /contacts/delta
クエリ パラメーター
組織の連絡先の変更を追跡すると、1 つ以上の デルタ 関数呼び出しのラウンドが発生します。 任意のクエリ パラメーター ($deltatoken と$skiptoken以外) を使用する場合は、最初のデルタ要求でこれを指定する必要があります。 Microsoft Graph は、応答で提供される @odata.nextLink または @odata.deltaLink の URL のトークン部分に指定したパラメーターを自動的にエンコードします。
クエリ パラメーターを指定する必要があるのは、前に 1 回だけです。
後続の要求では、前の応答の @odata.nextLink または @odata.deltaLink URL をコピーして適用します。 その URL には、エンコードされたパラメーターが既に含まれています。
| クエリ パラメーター |
種類 |
説明 |
| $deltatoken |
string |
同じorganization連絡先コレクションの前のデルタ関数呼び出しの@odata.deltaLink URL で返された状態トークン。変更追跡のラウンドの完了を示します。 このトークンを含む @odata.deltaLink URL 全体を、そのコレクションの次の一連の変更追跡の最初の要求に保存して適用します。 |
| $skiptoken |
string |
前のデルタ関数呼び出しの@odata.nextLink URL で返された状態トークン。同じorganization連絡先コレクションで追跡する必要があるその他の変更があることを示します。 |
OData クエリ パラメーター
このメソッドは、応答のカスタマイズに役立つオプションの OData クエリ パラメーターをサポートします。
- GET 要求と同様に、
$select クエリ パラメーターを使用して、最適なパフォーマンスを得るために必要なプロパティのみを指定できます。
id プロパティは常に返されます。
-
$filterのサポートは限られています。
- サポートされている唯一の
$filter 式は、特定のオブジェクトでの変更を追跡する $filter=id+eq+{value} です。 複数のオブジェクトをフィルター処理することができます。 たとえば、https://graph.microsoft.com/v1.0/contacts/delta/?$filter= id eq '477e9fc6-5de7-4406-bb2a-7e5c83c9ffff' or id eq '004d6a07-fe70-4b92-add5-e6e37b8affff' などです。 フィルター処理されたオブジェクトは 50 個に制限されています。
| 名前 |
説明 |
| Authorization |
ベアラー {token}。 必須です。
認証と認可についての詳細をご覧ください。 |
| Prefer |
return=minimal.
このヘッダーを指定する要求を使用すると、@odata.deltaLink は、最後のラウンド以降に変更されたオブジェクトのプロパティのみを返します。 省略可能です。 |
要求本文
このメソッドには、要求本文を指定しません。
応答
成功した場合、このメソッドは応答コード 200 OK と、応答本文に orgContact コレクション オブジェクトを返します。 応答には@odata.nextLink URLまたは@odata.deltaLink URLも含まれます。
デフォルト:初期デルタリクエストと同じプロパティを返します
デフォルトでは、@odata.deltaLinkまたは@odata.nextLinkを使用したリクエストは、最初のデルタクエリで選択されたものと同じプロパティを次のように返します:
- プロパティを変更した場合は、応答には新しい値が含まれます。 これには、null 値に設定されているプロパティが含まれます。
- プロパティが変更されていない場合は、古い値が応答に含まれます。
- プロパティが以前に設定されていない場合、応答には一切含まれません。
手記: この動作では、応答を見てプロパティが変更されているかどうかを判断することはできません。 また、デルタ応答は、 例 2 に示すように、すべてのプロパティ値が含まれているため、大きくなる傾向があります。
代替案:変更されたプロパティのみを返す
オプションのリクエストヘッダを追加すると、- prefer:return=minimal - 次のようになります:
- プロパティを変更した場合は、応答には新しい値が含まれます。 これには、null 値に設定されているプロパティが含まれます。
- プロパティが変更されていない場合、プロパティは応答にまったく含まれません。 (既定の動作と異なる)
注意: ヘッダーは、デルタサイクルのどの時点でも @odata.deltaLink要求に追加できます。 ヘッダーは応答に含まれるプロパティのセットにのみ影響し、デルタ クエリの実行方法には影響しません。
例 3 を参照してください。
例
例 1: 既定のプロパティ
要求
要求の例を次に示します。
$select パラメーターがないため、既定のプロパティ セットが追跡され、返されます。
GET https://graph.microsoft.com/v1.0/contacts/delta
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Contacts.Delta.GetAsDeltaGetResponseAsync();
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
//other-imports
)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
delta, err := graphClient.Contacts().Delta().GetAsDeltaGetResponse(context.Background(), nil)
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
var result = graphClient.contacts().delta().get();
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
const options = {
authProvider,
};
const client = Client.init(options);
let delta = await client.api('/contacts/delta')
.get();
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
<?php
use Microsoft\Graph\GraphServiceClient;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$result = $graphServiceClient->contacts()->delta()->get()->wait();
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
result = await graph_client.contacts.delta.get()
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
応答
クエリの初期化から取得した @odata.deltaLink を使用する場合の応答の例を次に示します。
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#contacts",
"@odata.nextLink":"https://graph.microsoft.com/v1.0/contacts/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
"value": [
{
"companyName": "companyName-value",
"department": "department-value",
"displayName": "displayName-value",
"givenName": "givenName-value",
"id": "string (identifier)",
"jobTitle": "jobTitle-value",
"mail": "mail-value",
"mailNickname": "mailNickname-value",
"surname": "surname-value"
}
]
}
例 2: 3 つのプロパティの選択
要求
次の例は、既定の応答動作で、変更追跡のために 3 つのプロパティを選択する最初の要求を示しています。
GET https://graph.microsoft.com/v1.0/contacts/delta?$select=displayName,jobTitle,mail
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Contacts.Delta.GetAsDeltaGetResponseAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Select = new string []{ "displayName","jobTitle","mail" };
});
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphcontacts "github.com/microsoftgraph/msgraph-sdk-go/contacts"
//other-imports
)
requestParameters := &graphcontacts.ContactsDeltaRequestBuilderGetQueryParameters{
Select: [] string {"displayName","jobTitle","mail"},
}
configuration := &graphcontacts.ContactsDeltaRequestBuilderGetRequestConfiguration{
QueryParameters: requestParameters,
}
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
delta, err := graphClient.Contacts().Delta().GetAsDeltaGetResponse(context.Background(), configuration)
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
var result = graphClient.contacts().delta().get(requestConfiguration -> {
requestConfiguration.queryParameters.select = new String []{"displayName", "jobTitle", "mail"};
});
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
const options = {
authProvider,
};
const client = Client.init(options);
let delta = await client.api('/contacts/delta')
.select('displayName,jobTitle,mail')
.get();
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Contacts\Delta\DeltaRequestBuilderGetRequestConfiguration;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestConfiguration = new DeltaRequestBuilderGetRequestConfiguration();
$queryParameters = DeltaRequestBuilderGetRequestConfiguration::createQueryParameters();
$queryParameters->select = ["displayName","jobTitle","mail"];
$requestConfiguration->queryParameters = $queryParameters;
$result = $graphServiceClient->contacts()->delta()->get($requestConfiguration)->wait();
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.contacts.delta.delta_request_builder import DeltaRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
query_params = DeltaRequestBuilder.DeltaRequestBuilderGetQueryParameters(
select = ["displayName","jobTitle","mail"],
)
request_configuration = RequestConfiguration(
query_parameters = query_params,
)
result = await graph_client.contacts.delta.get(request_configuration = request_configuration)
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
応答
クエリの初期化から取得した @odata.deltaLink を使用する場合の応答の例を次に示します。 3 つのプロパティはすべて応答に含まれており、 @odata.deltaLink が取得されてから変更されたプロパティは不明です。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#contacts",
"@odata.nextLink":"https://graph.microsoft.com/v1.0/contacts/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
"value": [
{
"displayName": "displayName-value",
"jobTitle": "jobTitle-value",
"mail": null
}
]
}
例 3: 代替の最小限の応答の動作
要求
次の例は、最初のリクエストが代替の最小限の応答の変更追跡のために 3 つのプロパティを選択していることを示しています。
GET https://graph.microsoft.com/v1.0/contacts/delta?$select=displayName,jobTitle,mail
Prefer: return=minimal
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Contacts.Delta.GetAsDeltaGetResponseAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Select = new string []{ "displayName","jobTitle","mail" };
requestConfiguration.Headers.Add("Prefer", "return=minimal");
});
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
abstractions "github.com/microsoft/kiota-abstractions-go"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphcontacts "github.com/microsoftgraph/msgraph-sdk-go/contacts"
//other-imports
)
headers := abstractions.NewRequestHeaders()
headers.Add("Prefer", "return=minimal")
requestParameters := &graphcontacts.ContactsDeltaRequestBuilderGetQueryParameters{
Select: [] string {"displayName","jobTitle","mail"},
}
configuration := &graphcontacts.ContactsDeltaRequestBuilderGetRequestConfiguration{
Headers: headers,
QueryParameters: requestParameters,
}
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
delta, err := graphClient.Contacts().Delta().GetAsDeltaGetResponse(context.Background(), configuration)
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
var result = graphClient.contacts().delta().get(requestConfiguration -> {
requestConfiguration.queryParameters.select = new String []{"displayName", "jobTitle", "mail"};
requestConfiguration.headers.add("Prefer", "return=minimal");
});
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
const options = {
authProvider,
};
const client = Client.init(options);
let delta = await client.api('/contacts/delta')
.header('Prefer','return=minimal')
.select('displayName,jobTitle,mail')
.get();
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Contacts\Delta\DeltaRequestBuilderGetRequestConfiguration;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestConfiguration = new DeltaRequestBuilderGetRequestConfiguration();
$headers = [
'Prefer' => 'return=minimal',
];
$requestConfiguration->headers = $headers;
$queryParameters = DeltaRequestBuilderGetRequestConfiguration::createQueryParameters();
$queryParameters->select = ["displayName","jobTitle","mail"];
$requestConfiguration->queryParameters = $queryParameters;
$result = $graphServiceClient->contacts()->delta()->get($requestConfiguration)->wait();
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.contacts.delta.delta_request_builder import DeltaRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
query_params = DeltaRequestBuilder.DeltaRequestBuilderGetQueryParameters(
select = ["displayName","jobTitle","mail"],
)
request_configuration = RequestConfiguration(
query_parameters = query_params,
)
request_configuration.headers.add("Prefer", "return=minimal")
result = await graph_client.contacts.delta.get(request_configuration = request_configuration)
プロジェクトに SDK を追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
応答
クエリの初期化から取得した @odata.deltaLink を使用する場合の応答の例を次に示します。
mail プロパティは含まれません。つまり、最後のデルタ クエリ以降は変更されていません。displayNameとjobTitleは含まれます。これは、値が変更されたことを意味します。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#contacts",
"@odata.nextLink":"https://graph.microsoft.com/v1.0/contacts/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
"value": [
{
"displayName": "displayName-value",
"jobTitle": null
}
]
}
関連コンテンツ