Standort: Delta

Wichtig

Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.

Rufen Sie eine Reihe neu erstellter, aktualisierter oder gelöschter Websites ab, ohne die gesamte Websitesammlung vollständig lesen zu müssen.

Ein Delta-Funktionsaufruf für Websites ähnelt einer GET-Anforderung, mit dem Unterschied, dass Sie durch entsprechende Anwendung von Zustandstoken in einem oder mehreren dieser Aufrufe inkrementelle Änderungen an den Websites abfragen können. Es ermöglicht Ihnen, einen lokalen Speicher für die Websites eines Benutzers zu verwalten und zu synchronisieren, ohne jedes Mal alle Websites vom Server abrufen zu müssen. Die Anwendung ruft die API auf, ohne Parameter anzugeben. Der Dienst beginnt mit der Aufzählung von Websites und gibt Seiten mit Änderungen an diesen Websites zurück, begleitet von entweder einem @odata.nextLink oder einem @odata.deltaLink. Ihre Anwendung sollte weiterhin Aufrufe über den @odata.nextLink tätigen, bis ein @odata.deltaLink in der Antwort vorhanden ist.

Nachdem Sie alle Änderungen erhalten haben, können Sie sie auf Ihren lokalen Zustand anwenden. Um zukünftige Änderungen zu überwachen, rufen Sie die Delta-API mithilfe des @odata.deltaLink aus der vorherigen Antwort auf.

Alle als gelöscht markierten Ressourcen sollten aus Ihrem lokalen Zustand entfernt werden.

Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.

Weltweiter Service US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet
✅ ✅ ✅ ✅

Berechtigungen

Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) Sites.Read.All Sites.ReadWrite.All
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Anwendung Sites.Read.All Sites.ReadWrite.All

HTTP-Anforderung

GET /sites/delta

Abfrageparameter

In der Anforderungs-URL können Sie den folgenden optionalen Abfrageparameter einschließen.

Parameter Typ Beschreibung
token Zeichenfolge Wenn der Wert ist latest, gibt der Aufruf eine leere Antwort mit dem neuesten Deltatoken zurück. Wenn es sich bei dem Wert um ein früheres Deltatoken handelt, gibt der Aufruf den neuen Status seit der Ausgabe dieses Tokens zurück.

Diese Methode unterstützt auch die $selectOData-Abfrageparameter , $expandund $top OData, um die Antwort anzupassen.

Anforderungsheader

Kopfzeile Wert
Authorization Bearer {token}. Erforderlich. Erfahren Sie mehr über Authentifizierung und Autorisierung.

Anforderungstext

Geben Sie keinen Anforderungstext für diese Methode an.

Antwort

Bei Erfolg gibt diese Methode einen 200 OKAntwortcode und eine Auflistung von site-Objekten im Antworttext zurück.

Zusätzlich zur Auflistung von Websiteobjekten enthält die Antwort eine der folgenden Eigenschaften.

Name Wert Beschreibung
@odata.nextLink URL Eine URL zum Abrufen der nächsten verfügbaren Seite mit Änderungen, wenn es andere Änderungen im aktuellen Satz gibt.
@odata.deltaLink URL Eine URL, die anstelle von @odata.nextLink zurückgegeben wird, nachdem alle aktuellen Änderungen zurückgegeben wurden. Sie können diese Eigenschaft verwenden, um die nächsten Änderungen in der Zukunft zu lesen.

In einigen Fällen gibt der Dienst einen 410 Gone Antwortcode mit einer Fehlerantwort zurück, die einen der folgenden Fehlercodes enthält, sowie einen Location Header mit einem new nextLink , der eine neue Delta-Enumeration startet. Dieser Fehler tritt auf, wenn der Dienst keine Liste der Änderungen für ein bestimmtes Token bereitstellen kann. Dies kann beispielsweise der Fall sein, wenn ein Client versucht, ein altes Token wiederzuverwenden, nachdem die Verbindung für längere Zeit getrennt wurde, oder wenn sich der Serverstatus geändert hat und ein neues Token erforderlich ist.

Nachdem Sie die vollständige Aufzählung abgeschlossen haben, können Sie die zurückgegebenen Websites mit Ihrem lokalen Bundesstaat vergleichen und den Anweisungen basierend auf dem Fehlertyp folgen.

Fehlertyp Anweisungen
resyncChangesApplyDifferences Ersetzen Sie alle lokalen Websites durch die Versionen des Servers (einschließlich Löschungen), wenn Sie sicher sind, dass der Dienst bei der letzten Synchronisierung mit Ihren lokalen Änderungen auf dem neuesten Stand war. Laden Sie alle lokalen Änderungen hoch, die dem Server noch nicht bekannt sind.
resyncChangesUploadDifferences Laden Sie alle lokalen Websites hoch, die der Dienst nicht zurückgegeben hat, und laden Sie alle Websites hoch, die sich von den Versionen des Servers unterscheiden. Bewahren Sie beide Kopien auf, wenn Sie nicht sicher sind, welche aktueller ist.

Zusätzlich zu den Resynchronisierungsfehlern und für weitere Informationen siehe Microsoft Graph Fehlerantworten und Ressourcentypen.

Beispiele

Beispiel 1: Ursprüngliche Anforderung

Das folgende Beispiel zeigt die anfängliche Anforderung und wie Sie diese API aufrufen, um Ihren lokalen Zustand zu ermitteln.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

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

Antwort

Das folgende Beispiel zeigt die Antwort, die die erste Seite der Änderungen und die Eigenschaft @odata.nextLink enthält, die angibt, dass in der aktuellen Gruppe von Websites keine Websites mehr verfügbar sind. Ihre App sollte weiterhin den URL-Wert von @odata.nextLink anfordern, bis alle Seiten von Websites abgerufen wurden.

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

{
  "value": [
    {
      "id": "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,712a596e-90a1-49e3-9b48-bfa80bee8740",
      "name": "teamSiteA"
    },
    {
      "id": "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,0271110f-634f-4300-a841-3a8a2e851851",
      "name": "teamSiteB"
    },
    {
      "id": "contoso.sharepoint.com,da60e844-ba1d-49bc-b4d4-d5e36bae9019,0271110f-634f-4300-a841-3a8a2e851851",
      "name": "teamSiteC"
    }
  ],
  "@odata.nextLink": "https://graph.microsoft.com/beta/sites/delta?token=1230919asd190410jlka"
}

Beispiel 2: Letzte Seitenanforderung

Das folgende Beispiel zeigt eine Anforderung, die auf die letzte Seite eines Satzes zugreift und wie Sie diese API aufrufen, um Ihren lokalen Status zu aktualisieren.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

GET https://graph.microsoft.com/beta/sites/delta?token=1230919asd190410jlka

Antwort

Das folgende Beispiel zeigt die Antwort, die angibt, dass die benannte Website AllCompany zwischen der ersten Anforderung und dieser Anforderung zum Aktualisieren des lokalen Status gelöscht wurde.

Die letzte Seite von Websites enthält die @odata.deltaLink-Eigenschaft , die die URL bereitstellt, die später verwendet werden kann, um Änderungen seit dem aktuellen Satz von Websites abzurufen.

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#sites",
    "@odata.deltaLink": "https://graph.microsoft.com/beta/sites/delta?$deltatoken=b2vm2fSuZ-V_1Gdq4ublGPD4lReifRNHYMGxkFf0yz2fTqr9U6jMyWv8hihThODJCO_5I7JbpAFLQAIOUzYXhCPl0jlQdjTC1o24iBe81xQyAWJOiP3q1xyMKjlfZUawWok3Njc_LIrrSgrdSydhsVCL6XYpRkYGJ9JDYxFMiJw2vUs1QC_S0cW6hqYQnOimeA918dQZwD8pJI9oUJryV2Ow-7Dj9p18p1I6pFg044k.xipVdgMKlOFIlXzPipsKzlFJbYUTD1sGiFiPe7uZA7Q",
    "value": [
        {
            "createdDateTime": "2024-03-11T02:36:04Z",
            "name": "All Company",
            "displayName": "All Company",
            "isPersonalSite": false,
            "id": "bd565af7-7963-4658-9a77-26e11ac73186",
            "root": {}
        }
    ]
}

In einigen Szenarien möchten Sie möglicherweise den aktuellen deltaLink Wert anfordern, ohne zuerst alle Websites, Listen und Websites aufzuzählen. Dieser Vorschlag kann nützlich sein, wenn Ihre App nur über Änderungen und nicht über vorhandene Websites Bescheid wissen muss. Um die neuesten deltaLinkabzurufen, rufen Sie delta mit dem Abfragezeichenfolgenparameter auf ?token=latest.

Hinweis: Um eine vollständige lokale Darstellung der Ressourcen zu verwalten, müssen Sie für die anfängliche Aufzählung verwenden delta . Die Verwendung von delta ist die einzige Möglichkeit, um sicherzustellen, dass Sie alle benötigten Daten gelesen haben.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

GET https://graph.microsoft.com/beta/sites/delta?token=latest

Antwort

Das folgende Beispiel zeigt die Antwort.

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

{
  "value": [ ],
  "@odata.deltaLink": "https://graph.microsoft.com/beta/sites/delta?token=1230919asd190410jlka"
}

Siehe auch