Table of contents

Differenzielle Abfragen | Graph-API-KonzepteDifferential query | Graph API concepts

Jimaco Brannian|Zuletzt aktualisiert: 19.06.2018
|
2 Mitarbeiter

Gilt für: Graph-API | Azure Active DirectoryApplies to: Graph API | Azure Active Directory

In diesem Artikel wird das Feature für differenzielle Abfragen mit der Azure AD Graph-API besprochen.This topic discusses the differential query feature of Azure AD Graph API.Eine differenzielle Abfrage gibt alle Änderungen zurück, die an angegebenen Entitäten im Zeitraum zwischen zwei aufeinanderfolgenden Anforderungen vorgenommen wurden.A differential query request returns all changes made to specified entities during the time between two consecutive requests.Wenn Sie z. B. eine differenzielle Abfrageanforderung eine Stunde nach der vorherigen Abfrageanforderung ausgeben, werden nur die während dieser Stunde vorgenommenen Änderungen zurückgegeben.For example, if you make a differential query request an hour after the previous differential query request, only the changes made during that hour will be returned.Diese Funktion ist insbesondere dann sinnvoll, wenn Verzeichnisdaten des Mandanten mit dem Datenspeicher einer Anwendung synchronisiert werden.This functionality is especially useful when synchronizing tenant directory data with an application’s data store.

Damit eine differenzielle Abfrageanforderung für das Verzeichnis eines Mandanten erfolgen kann, muss Ihre Anwendung durch den Mandanten autorisiert sein.To make a differential query request to a tenant’s directory, your application must be authorized by the tenant.Weitere Informationen finden Sie unter Integrieren von Anwendungen in Azure Active Directory.For more information, see Integrating Applications with Azure Active Directory.

Wichtig

Es wird dringend empfohlen, für den Zugriff auf Azure Active Directory-Ressourcen Microsoft Graph zu verwenden, nicht die Azure AD Graph-API.We strongly recommend that you use Microsoft Graph instead of Azure AD Graph API to access Azure Active Directory resources.Wir konzentrieren unsere Entwicklungsarbeit auf Microsoft Graph, weitere Verbesserungen für die Azure AD Graph-API sind nicht geplant.Our development efforts are now concentrated on Microsoft Graph and no further enhancements are planned for Azure AD Graph API.Es gibt einige wenige Szenarien, in denen die Azure AD Graph-API möglicherweise noch geeignet ist. Weitere Informationen finden Sie im Office Dev Center im Blogbeitrag Microsoft Graph or the Azure AD Graph.There are a very limited number of scenarios for which Azure AD Graph API might still be appropriate; for more information, see the Microsoft Graph or the Azure AD Graph blog post in the Office Dev Center.

Differenzielle Abfrageanforderungen Differential query requests

In diesem Abschnitt werden differenzielle Abfrageanforderungen beschrieben.This section describes differential query requests.Alle Anforderungen benötigen die folgenden Komponenten:All requests require the following components:

  • Eine gültige Anforderungs-URL einschließlich Graph-Endpunkt für den Mandanten und ggf. anwendbare Abfragezeichenfolgenparameter.A valid request URL, including the Graph endpoint for the tenant and applicable query string parameters.

  • Einen Autorisierungsheader, der ein gültiges Zugiffsstoken enthält, das von Azure Active Directory ausgestellt wurde.An authorization header, including a valid access token issued by Azure Active Directory.Weitere Informationen zur Authentifizierung bei der Graph-API finden Sie unter Authentifizierungsszenarien für Azure AD.For more information on authenticating to the Graph API, see Authentication Scenarios for Azure AD.

URL für differenzielle AbfrageanforderungenDifferential query request URL

Das folgende Beispiel zeigt das Format der URL für differenzielle Abfrageanforderungen. Eckige Klammern ([]) zeigen optionale Elemente an.The following shows the format of the URL for differential query request; square brackets [] indicate optional elements.

https://graph.windows.net/<tenantId>/<resourceSet>?api-version=<SupportedApiVersion>&deltaLink=<token>&[$filter=isof(<entityType>)]&[$select=<PropertyList>]

Die URL besteht aus hierarchischen Segmenten, gefolgt von einer Reihe von Abfragezeichenfolgenparametern, die als Schlüssel-Wert-Paare ausgedrückt werden.The URL is made up of a hierarchical segments followed by a series of query string parameters expressed as key-value pairs.

URL: Hierarchische SegmenteURL: Hierarchical segments

SegmentSegmentBeschreibungDescription
tenantIdtenantIdDer eindeutige Bezeichner des Mandanten, für den die Abfrage ausgeführt werden soll.The unique identifier of the tenant that the query should be executed against.Dies ist normalerweise eine der überprüften Domänen (verifiedDomains-Eigenschaft) des Mandanten, es kann sich jedoch auch um die Objekt-ID (objectId-Eigenschaft) des Mandanten handeln.This is typically one of the verified domains (verifiedDomains property) of the tenant, but it can also be the tenant’s object ID (objectId property).Keine Unterscheidung zwischen Groß-/Kleinschreibung.Not case-sensitive.
resourceSetresourceSetDie jeweilige Sammlung von Mandantenressourcen, für die die Abfrage ausgeführt werden soll.The specific set of tenant resources this query should be executed against.Bestimmt, welche Ressourcen in der Abfrageantwort zurückgegeben werden.Determines what resources are returned in the query response.Die folgenden Werte werden unterstützt: „directoryObjects“, „users“, „contacts“ und „groups“.Supported values are: “directoryObjects”, “users”, “contacts” or “groups”.Bei den Werten wird die Groß-/Kleinschreibung berücksichtigt.Values are case-sensitive.

URL: AbfragezeichenfolgenparameterURL: Query string parameters

ParameterParameterBeschreibungDescription
api-versionapi-versionGibt die Version der Graph-API an, für die die Anforderung ausgegeben wird.Specifies the version of the Graph API against which the request is issued.Erforderlich.Required.Ab Version 1.5 wird der Wert als numerische Versionsnummer angegeben, z. B. „api-version=1.5“.Beginning with version 1.5, the value is expressed as a numeric version number; for example, api-version=1.5.Für frühere Versionen ist der Wert eine Zeichenfolge im Format JJJJ-MM-TT, z. B. „api-Version=2013-04-05“.For previous versions, the value is a string of the form YYYY-MM-DD; for example, api-version=2013-04-05.

(Ersetzt die Verwendung des x-ms-dirapi-data-contract-version-Headers in der Vorschauversion der Graph-API.)(Replaces the use of x-ms-dirapi-data-contract-version header in the preview version of Graph API.)
deltaLinkdeltaLinkDas Token, das in der Eigenschaft deltaLink oder nextLink in der letzten Antwort zurückgegeben wird.The token returned in either the deltaLink property or the nextLink property in the last response.Erforderlich, jedoch bei der ersten Anforderung leer.Required, but will be empty on the first request.

(Ersetzt den skipToken-Abfragezeichenfolgenparameter in der Vorschauversion der Graph-API.)(Replaces the skipToken query string parameter in the preview version of Graph API.)
$filter$filterGibt an, welche Entitätstypen in der Antwort enthalten sein sollen.Indicates which entity types should be included in the response.(Optional)Optional.Die folgenden Entitätstypen werden unterstützt: „User“, „Group“ und „Contact“.The supported entity types are: User, Group and Contact.Nur gültig, wenn &ltresourceSet&gt den Wert „directoryObjects“ besitzt, andernfalls setzt &ltresourceSet&gt den Filter außer Kraft.Only valid when &ltresourceSet&gt is “directoryObjects”; otherwise, &ltresourceSet&gt overrides the filter.Wenn &ltresourceSet&gt z. B. den Wert „users“ aufweist und der Parameter $filter ebenfalls angegeben wird, werden unabhängig davon, was im Filterwert angegeben wurde, nur Änderungen für Benutzer zurückgegeben.For example, if &ltresourceSet&gt is “users”, and the $filter parameter is also specified, only changes for users will be returned regardless of what is specified in the filter value.Wenn &ltresourceSet&gt den Wert „directoryObjects“ besitzt und $filter nicht angegeben wird, werden Änderungen für alle unterstützten Entitätstypen („User“, „Group“ und „Contact“) zurückgegeben.If &ltresourceSet&gt is “directoryObjects” and $filter is not specified, changes for all of the supported entity types (User, Group, and Contact) are returned.

Verwenden Sie eine der folgenden Möglichkeiten, um einen einzelnen Entitätstyp anzugeben:To specify a single entity type, use one of the following:
  • $filter=isof('Microsoft.WindowsAzure.ActiveDirectory.Contact')
  • $filter=isof('Microsoft.WindowsAzure.ActiveDirectory.User')
  • $filter=isof('Microsoft.WindowsAzure.ActiveDirectory.Group')
Um mehrere Entitätstypen anzugeben, verwenden Sie den or-Operator. Beispiel: $filter=isof('Microsoft.WindowsAzure.ActiveDirectory.User')%20or%20isof('Microsoft.WindowsAzure.ActiveDirectory.Group').To specify multiple entity types, use the or operator; for example, $filter=isof('Microsoft.WindowsAzure.ActiveDirectory.User')%20or%20isof('Microsoft.WindowsAzure.ActiveDirectory.Group').

(Ersetzt den objectScope-Abfragezeichenfolgenparameter in der Vorschauversion der Graph-API.)(Replaces the objectScope query string parameter in the preview version of Graph API.)

Wichtig Der Graph-API-Namespace Microsoft.WindowsAzure.ActiveDirectory lautet ab Version 1.5 Microsoft.DirectoryServices.Important Beginning with version 1.5, the Graph API namespace is changed from Microsoft.WindowsAzure.ActiveDirectory to Microsoft.DirectoryServices.In früheren Versionen der Graph-API wird weiterhin der vorherige Namespace verwendet. Beispiel: $filter=isof('Microsoft.WindowsAzure.ActiveDirectory.Contact').Earlier versions of the Graph API continue to use the previous namespace; for example, $filter=isof('Microsoft.WindowsAzure.ActiveDirectory.Contact').
$select$selectGibt an, welche Eigenschaften in die Antwort eingeschlossen werden sollen.Specifies which properties should be included in the response.Wenn *$select^ nicht angegeben ist, werden alle Eigenschaften eingeschlossen.If *$select^ is not specified, all properties are included.

Eigenschaften können vollqualifiziert oder unqualifiziert angegeben werden.Properties can be specified either fully qualified or non-qualified.Mehrere Eigenschaften werden durch Kommas voneinander getrennt.Multiple properties are delimited by commas.
  • Für vollqualifizierte Eigenschaften wird der Entitätstyp angegeben, z. B. User/displayName.Fully qualified properties have the entity type specified; for example, User/displayName.Vollqualifizierte Eigenschaften MÜSSEN verwendet werden, wenn directoryObjects als &ltresourceSet&gt angegeben ist, z. B. https://graph.windows.net/contoso.com/directoryObjects?api-version=2013-04-05&deltaLink=&$select=User/displayName,Group/description.Fully qualified properties MUST be used if &ltresourceSet&gt is specified as “directoryObjects”; for example, https://graph.windows.net/contoso.com/directoryObjects?api-version=2013-04-05&deltaLink=&$select=User/displayName,Group/description.
  • Für unqualifizierte Eigenschaften wird kein Entitätstyp angegeben, z. B. displayName.Non-qualified properties do not have the entity type specified; for example, displayName.Sie können nur verwendet werden, wenn für &ltresourceSet&gt ein anderer Wert als directoryObjects angegeben ist, z. B. https://graph.windows.net/contoso.com/users?api-version=2013-04-05&deltaLink=&$select=displayName,jobTitle.They can only be used when &ltresourceSet&gt is specified as a value other than “directoryObjects”; for example, https://graph.windows.net/contoso.com/users?api-version=2013-04-05&deltaLink=&$select=displayName,jobTitle.

Hinweis: Für die Schlüssel-Wert-Paare in der Abfragezeichenfolge wird zwischen Groß-Kleinschreibung unterschieden. Ihre Reihenfolge ist jedoch unwesentlich.Note: The key-value pairs in the query string are case-sensitive, but their order is not significant.

Das folgende Beispiel zeigt die einfachste differenzielle Abfrage:The following is an example of the simplest differential query.Diese wird während der anfänglichen Synchronisierung verwendet.This is used during initial sync.

https://graph.windows.net/contoso.com/directoryObjects?api-version=2013-04-05&deltaLink=

Das folgende Beispiel zeigt eine nachfolgende Anforderung.The following is an example of a subsequent request.

https://graph.windows.net/contoso.com/directoryObjects?api-version=2013-04-05&deltaLink=AAABAGCL8z4m%2bc9IJGIzYjFmYzU5LTg0YjgtNDQwMC1hNzE1LWVhOGE3ZTQwZjRmZQBuvX43ACZQT4LRVPug8An6AAABAANIABAfGgAQwAMAJDCHA5AAABAATCkAA44TADQnhAQAIAAAgAHAAwAQAAAA8rLSTyfq5U`

Antworten auf differenzielle Abfragen Differential query responses

In diesem Abschnitt werden die Inhalte der Antwort auf eine differenzielle eine Abfrage beschrieben, die zurückgegeben wird, wenn eine differenzielle Abfrageanforderung ausgeführt wird.This section describes the contents of a differential query response that is returned when a differential query request is made.In der folgenden Liste werden die Inhalte einer Antwort beschrieben:The following list describes the contents of a response:

  • Null bis 200 DirectoryObject-Entitäten, von denen jede Änderungen für ein bestimmtes User, Group oder ContactObjekt enthält.Zero to 200 DirectoryObject entities, each of which contains changes for a specific User, Group, or Contact object.

  • Null bis 3000 DirectoryLinkChange-Entitäten, von denen jede Änderungen für einen bestimmten member- oder manager-Link enthält.Zero to 3000 DirectoryLinkChange entities, each of which contains changes for a specific member or manager link.

  • Die deltaLink-Eigenschaft oder die nextLink-Eigenschaft.Either a deltaLink or a nextLink property.In beiden Fällen ist der Wert eine URL-codierte Zeichenfolge, für die zwischen Groß- und Kleinschreibung unterschieden wird, die Statusinformationen zu den Verzeichnisänderungen einbettet, die in Bezug auf die verbleibenden Änderungen, die im Verzeichnis aufgetreten sind, an den Client zurückgegeben wurden.In either case, its value is a case-sensitive, URL-encoded string that embeds state information about the set of directory changes that have been returned to the client, with respect to remaining changes that have occurred in the directory.Diese Zeichenfolge (oder dieses Token) sollte im deltaLink-Abfragezeichenfolgenparameter der nächsten differenziellen Abfrageanforderung enthalten sein.This string (or token) should be included in the deltaLink query string parameter in the next differential query request.

    • Wenn die deltaLink-Eigenschaft zurückgegeben wird, sind nach dieser Antwort keine weiteren Verzeichnisänderungen vorhanden, die die Anwendung synchronisieren muss.If the deltaLink property is returned, there are no more directory changes left for the application to synchronize after this response.Die Anwendung kann nun für ein vorab gemäß ihren Anforderungen definiertes Zeitintervall warten, bis die nächste differenzielle Abfrageanforderung ausgegeben wird.The application can wait for some predetermined time according to its own requirements to issue the next differential query request.

    • Wenn die nextLink-Eigenschaft zurückgegeben wird, sind nach dieser Antwort noch Verzeichnisänderungen vorhanden, die die Anwendung synchronisieren muss.If the nextLink property is returned, there are directory changes remaining for the application to synchronize after this response.Die Anwendung sollte die nächste differenzielle Abfrageanforderung so bald wie möglich ausgeben.The application should issue the next differential query request at its earliest convenience.

Antworten werden immer im JSON-Format zurückgegeben.Responses are always returned in JSON format.

Überlegungen für die Verwendung differenzieller Abfragen Considerations when using differential query

Die folgende Liste nennt wichtige Überlegungen für Anwendungen, die differenzielle Abfragen verwenden:The following list highlights important considerations for applications that use differential query:

  • Änderungen, die von einer differenziellen Abfrage zurückgegeben werden, stellen den Status der Verzeichnisobjekte zum Zeitpunkt der Antwort dar.Changes returned by differential query represent the state of the directory objects at the time of the response.Ihre Anwendung darf diese Änderungen nicht als Transaktionsprotokolle für Replay verwenden.Your application must not treat these changes as transaction logs for replay.

  • Änderungen werden in der Reihenfolge angezeigt, in der sie aufgetreten sind.Changes appear in the order in which they occurred.Die Objekte, die zuletzt geändert wurden, werden selbst dann an letzter Stelle angezeigt, wenn das Objekt mehrmals aktualisiert wurde.The most-recently changed objects appear last even if the object was updated multiple times.Ihre Reihenfolge wird auch nicht durch den Zeitpunkt beeinflusst, an dem der Client die Änderungen empfangen hat.Their order is also not affected by when the client received the changes.Daher ist es möglich, dass Änderungen in einer anderen Reihenfolge als der Reihenfolge angezeigt werden, in der sie ursprünglich im Verzeichnis aufgetreten sind.As a result, it is possible for changes to be presented out of order compared to how they initially occurred in the directory.

  • Ihre Anwendung muss auf Replays vorbereitet sein, die auftreten, wenn die gleiche Änderung in nachfolgenden Antworten enthalten ist.Your application must be prepared for replays, which occur when the same change appears in subsequent responses.Trotz aller Bemühungen differenzieller Abfragen, Replays zu verringern, sind diese dennoch möglich.While differential query makes a best effort to reduce replays, they are still possible.

  • Ihre Anwendung muss darauf vorbereitet sein, eine Löschänderung für ein Objekt zu verarbeiten, die ihr unbekannt war.Your application must be prepared to handle a deletion change for an object it was not aware of.

  • Differenzielle Abfragen können einen Link zu einem Quell- oder Zielobjekt zurückgeben, das von anderen Antworten noch nicht zurückgegeben wurde.Differential query can return a link to a source or target object that has not yet been returned by other responses.

  • Im Abschnitt Zusätzliche Funktionen für differenzielle Abfragen weiter unten finden Sie weitere Informationen zur Verwendung der Anforderungsheader, um Abfragen zur Verbesserung der Leistung zu beschränken.See the Additional differential query features section below for more information on using request headers to constrain your queries to improve performance.

Beispiele für Anforderung und Antwort Request and response examples

Das folgende Beispiel zeigt eine anfängliche differenzielle Abfrage:The following is an example of an initial differential query request:

GET https://graph.windows.net/contoso.com/directoryObjects?api-version=2013-04-05&$filter=isof('Microsoft.WindowsAzure.ActiveDirectory.User')%20or%20isof('Microsoft.WindowsAzure.ActiveDirectory.Group')%20or%20isof('Microsoft.WindowsAzure.ActiveDirectory.Contact')&deltaLink= HTTP /1.1
Authorization: Bearer eyJ0eXAiOiJKV . . . KUAe1EQ
Host: graph.windows.net

Das folgende Beispiel zeigt eine inkrementelle differenzielle Abfrageanforderung:The following is an example of an incremental differential query request:

https://graph.windows.net/contoso.com/directoryObjects?api-version=2013-04-05&$filter=isof('Microsoft.WindowsAzure.ActiveDirectory.User')%20or%20isof('Microsoft.WindowsAzure.ActiveDirectory.Group')%20or%20isof('Microsoft.WindowsAzure.ActiveDirectory.Contact')&deltaLink=AAABAGCL8z4m%2bc9IJGIzYjFmYzU5LTg0YjgtNDQwMC1hNzE1LWVhOGE3ZTQwZjRmZQBuvX43ACZQT4LRVPug8An6AAABAANIABAfGgAQwAMAJDCHA5AAABAATCkAA44TADQnhAQAIAAAgAHAAwAQAAAA8rLSTyfq5U
 HTTP /1.1
Authorization: Bearer eyJ0eXAiOiJKV . . . KUAe1EQ
Host: graph.windows.net

Hinweis: In beiden Beispielanforderungen wird der $filter-Abfrageparameter nur für Demonstrationszwecke gezeigt.Note: In both of these sample requests, the $filter query parameter is shown for demonstration purposes only.Da der Filter alle möglichen Zieltypen für die differenzielle Abfrage zeigt (User, Group und Contact), kann er ausgelassen werden, und die Abfrage würde standardmäßig Änderungen für alle diese Entitätstypen zurückgeben.Because the filter specifies all of the possible target types for the differential query (User, Group, and Contact), it could be omitted and the query would return changes for all of these entity types by default.

Die folgende Beispielantwort zeigt den zurückgegebenen JSON-Code:The following example response demonstrates the returned JSON:

{
  "odata.metadata": "https://graph.windows.net/contoso.com/$metadata#directoryObjects",


  # This is the deltaLink to be used for the next query
  "aad.deltaLink": "https://graph.windows.net/contoso.com/directoryObjects?deltaLink=XARBN7ivjcS6QIhSZDQR3OkT15SO1eeY-01BZSS0sOct6sh5oEyqOLLKRVhRmBMLHhePUF... [Truncated]",
  "value": [

    # User object for John Smith
    {
      "odata.type": "Microsoft.WindowsAzure.ActiveDirectory.User",
      "objectType": "User",
      "objectId": "dca803ab-bf26-4753-bf20-e1c56a9c34e2",
      "accountEnabled": true,
      "displayName": "John Smith",
      "givenName": "John",
      "mailNickname": "johnsmith",
      "passwordPolicies": "None",
      "surname": "Smith",
      "usageLocation": "US",
      "userPrincipalName": "johnsmith@contoso.com"
    },

    # Group object for IT Administrators
    {
      "odata.type": "Microsoft.WindowsAzure.ActiveDirectory.Group",
      "objectType": "Group",
      "objectId": "7373b0af-d462-406e-ad26-f2bc96d823d8",
      "description": "IT Administrators",
      "displayName": "Administrators",
      "mailNickname": "Administrators",
      "mailEnabled": false,
      "securityEnabled": true
    },

    # Contact object for Jane Smith
    {
      "odata.type": "Microsoft.WindowsAzure.ActiveDirectory.Contact",
      "objectType": "Contact",
      "objectId": "d711a1f8-21cf-4dc0-834a-5583e5324c44",
      "displayName": "Jane Smith",
      "givenName": "Jane",
      "mail": "johnsmith@contoso.com",
      "mailNickname": "johnsmith",
      "proxyAddresses": [
        "SMTP:janesmith@fabrikam.com"
      ],
      "surname": "Smith"
    },

    # Member link indicating John Smith is a member of IT Admin Group
    {
      "odata.type": "Microsoft.WindowsAzure.ActiveDirectory.DirectoryLinkChange",
      "objectType": "DirectoryLinkChange",
      "objectId": "00000000-0000-0000-0000-000000000000",
      "associationType": "Member",
      "sourceObjectId": "7373b0af-d462-406e-ad26-f2bc96d823d8",
      "sourceObjectType": "Group",
      "sourceObjectUri": "https://graph.windows.net/contoso.com/groups/7373b0af-d462-406e-ad26-f2bc96d823d8",
      "targetObjectId": "dca803ab-bf26-4753-bf20-e1c56a9c34e2",
      "targetObjectType": "User",
      "targetObjectUri": "https://graph.windows.net/contoso.com/users/dca803ab-bf26-4753-bf20-e1c56a9c34e2"
    }
  ]
}

Zusätzliche Features für differenzielle Abfragen Additional differential query features

Differenzielle Abfragen können jetzt nur aktualisierte Eigenschaften und Links zurückgeben – dies ermöglicht eine schnellere Verarbeitung und geringere Nutzlasten für Aufrufe differenzieller Abfragen.Differential Queries can now return only updated properties and links – this allows faster processing and reduced payloads for Differential Query calls.Diese Option wird aktiviert, indem Sie den Header ocp-aad-dq-include-only-changed-properties auf „true“ festlegen, wie im folgenden Beispiel gezeigt.This option is enabled by setting the header ocp-aad-dq-include-only-changed-properties to true as shown in this example.

GET https://graph.windows.net/contoso.com/users?api-version=2013-11-08&deltaLink= furK18V1T….
HTTP /1.1
ocp-aad-dq-include-only-changed-properties : true
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5nl0aEV1T….
Response: 200 OK

Angenommen, nur die displayName-Eigenschaft von „user“ wurde geändert.For example if only the “displayName” property of user has changed.Das zurückgegebene Objekt lautet dann in etwa wie folgt:The returned object would be similar to this:

{     
          "displayName" : "AnUpdatedDisplayName",
         "objectId" :  "c1bf5c59-7974-4aff-a59a-f8dfe9809b18",
         "objectType" :  "User",
          "odata.type" :  "Microsoft.WindowsAzure.ActiveDirectory.User"
},

Unterstützung der differenziellen Synchronisierung für die Synchronisierung ab „jetzt“: Ein spezieller Header kann angegeben werden, um nur ein aktuelles deltaToken abzurufen. Dieses Token kann in nachfolgenden Abfragen verwendet werden, mit denen Änderungen ab „jetzt“ zurückgegeben werden.Differential Sync support to sync from “now” - a special header can be specified, requesting to only get an up-to-date deltaToken, this token can be used in subsequent queries, which will return only changes from “now”.Beispielaufruf:Here’s the example call:

GET https://graph.windows.net/contoso.com/users?api-version=2013-11-08&deltaLink= smLYT8V1T…
HTTP /1.1
ocp-aad-dq-include-only-delta-token: true
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5nl0aEV1T….
Response: 200 OK

Die Antwort enthält den deltaLink, jedoch keine geänderten Objekte, ähnlich wie dieses Beispiel:The response will contain the deltaLink, but will not have the changed object(s), similar to this:

{   …  "aad.deltaLink":https://graph.windows.net/contoso.com/users?deltaLink=MRa43......   }

Erkennen eines gelöschten Elements – die Antwort kann auch verwendet werden, um ein gelöschtes Element zu erkennen.Detecting a deleted item – the response can also be used to detect a deleted item.Gelöschte Objekte und gelöschte Links werden durch die Eigenschaft „aad.isDeleted“ mit einem auf „true“ festgelegten Wert gekennzeichnet. Dies ist erforderlich, um sicherzustellen, dass Anwendungen vom Löschen der zuvor erstellten Objekte und Links erfahren.Deleted objects and deleted links are indicated by the "aad.isDeleted" property with a value set to true; this is necessary to make sure applications can learn about the deletion of previously created objects and links.

Zusätzliche Ressourcen Additional resources

© 2018 Microsoft