event: delta

Namespace: microsoft.graph

Dient zum Abrufen von Ereignisressourcen, die in einer calendarView (ein durch Start- und Enddatum definierter Ereignisbereich) des Primärkalenders des Nutzers hinzugefügt, gelöscht oder aktualisiert wurden.

Die Synchronisierung von Ereignissen in einer calendarView in einem lokalen Speicher erfordert in der Regel eine Reihe von Aufrufen von Deltafunktionen. Der erste Aufruf ist eine vollständige Synchronisierung. Jeder nachfolgende Delta-Aufruf in derselben Runde erhält die inkrementellen Änderungen (Hinzufügungen, Löschungen oder Aktualisierungen). So können Sie einen lokalen Speicher von Ereignissen in der angegebenen calendarView pflegen und synchronisieren, ohne jedes Mal alle Ereignisse dieses Kalenders vom Server abrufen zu müssen.

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

Globaler Dienst US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet

Berechtigungen

Wählen Sie für diese API die Als am wenigsten privilegierten Berechtigungen gekennzeichneten Berechtigungen aus. Verwenden Sie nur dann eine Berechtigung mit höheren Berechtigungen , wenn dies für Ihre App erforderlich ist. 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) Calendars.Read Calendars.ReadBasic, Calendars.ReadWrite
Delegiert (persönliches Microsoft-Konto) Calendars.Read Calendars.ReadBasic, Calendars.ReadWrite
Anwendung Calendars.Read Calendars.ReadBasic, Calendars.ReadWrite

HTTP-Anforderung

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

Abfrageparameter

Das Nachverfolgen von Änderungen in Ereignissen verursacht eine Runde von einem oder mehreren Deltafunktionsaufrufen. Wenn Sie Abfrageparameter (außer $deltatoken und $skiptoken) verwenden, müssen Sie sie in der ursprünglichen Delta-Anforderung angeben. Microsoft Graph codiert automatisch alle angegebenen Parameter in den Tokenteil der in der Antwort enthaltenen @odata.nextLink- oder @odata.deltaLink-URL. Sie müssen alle gewünschten Abfrageparameter nur einmal im Vorfeld angeben. Kopieren Sie in nachfolgenden Anforderungen einfach die - oder @odata.deltaLink -@odata.nextLinkURL aus der vorherigen Antwort, und wenden Sie sie an, da diese URL bereits die codierten gewünschten Parameter enthält.

Abfrageparameter Typ Beschreibung
startDateTime String Startdatum und -uhrzeit des Zeitraums, dargestellt im ISO 8601-Format. Beispielsweise „2015-11-08T19:00:00.0000000“.
endDateTime String Enddatum und -uhrzeit des Zeitbereichs, dargestellt im ISO 8601-Format. Beispiel: "2015-11-08T20:00:00.0000000".
$deltatoken string Ein Zustandstoken, das in der @odata.deltaLink URL des vorherigen Delta-Funktionsaufrufs für dieselbe Kalenderansicht zurückgegeben wird und den Abschluss dieser Änderungsnachverfolgungsrunde angibt. Speichern Und anwenden Sie die gesamte @odata.deltaLink URL einschließlich dieses Tokens in der ersten Anforderung der nächsten Änderungsnachverfolgungsrunde für diese Kalenderansicht.
$skiptoken string Ein Statustoken, das in der @odata.nextLink-URL des vorhergehenden delta-Funktionsaufrufs zurückgegeben wird und anzeigt, dass in derselben Kalenderansicht weitere Änderungen zum Nachverfolgen vorliegen.

OData-Abfrageparameter

  • Sie können erwarten, dass ein Delta-Funktionsaufruf auf einer calendarView die gleichen Eigenschaften zurückgibt, die Sie normalerweise von einer GET /calendarView Anforderung erhalten würden. Sie können $select nicht verwenden, um nur eine Teilmenge dieser Eigenschaften zu erhalten.

  • Es gibt weitere OData-Abfrageparameter, die die Delta-Funktion für calendarView nicht unterstützten: $expand, $filter, $orderby und $search.

Anforderungsheader

Name Typ Beschreibung
Authorization string Bearer {token}. Erforderlich.
Content-Type string application/json. Erforderlich.
Prefer string odata.maxpagesize={x}. Optional.
Prefer string {Zeitzone}. Optional, UTC wird angenommen, wenn sie nicht vorhanden ist.

Antwort

Wenn die Methode erfolgreich verläuft, werden der Antwortcode 200 OK und das event-Sammlungsobjekt im Antworttext zurückgegeben.

Innerhalb einer Runde von Delta-Funktionsaufrufen, die durch den Datumsbereich einer calendarView gebunden sind, finden Sie möglicherweise einen Delta-Aufruf, der zwei Arten von Ereignissen unter @removed mit dem Grund deleted zurückgibt:

  • Ereignisse, die innerhalb der Datumsangaben liegen und die seit dem letzten Delta-Aufruf gelöscht worden sind.
  • Ereignisse, die außerhalb der Datumsangaben liegen und die seit dem letzten Delta-Aufruf hinzugefügt, gelöscht oder aktualisiert worden sind.

Filtern Sie die Ereignisse unter @removed nach den Datumsangaben, die für Ihr Szenario erforderlich sind.

Beispiel

Anforderung

Das folgende Beispiel zeigt, wie Sie einen einzelnen delta-Funktionsaufruf ausführen und die maximale Anzahl von Ereignissen im Antworttext auf 2 beschränken.

Zum Nachverfolgen von Änderungen in einer Kalenderansicht führen Sie einen oder mehrere delta-Funktionsaufrufe mit entsprechenden Statustoken aus, um den Satz der inkrementellen Änderungen seit der letzten Delta-Abfrage abzurufen.

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

Antwort

Wenn die Anforderung erfolgreich ist, enthält die Antwort ein Zustandstoken, bei dem es sich entweder um ein skipToken (in einem @odata.nextLink-Antwortheader ) oder ein deltaToken (in einem Antwortheader @odata.deltaLink ) handelt. Sie geben jeweils an, ob Sie mit der Runde fortfahren sollten oder ob Sie alle Änderungen für diese Runde abgeschlossen haben.

Die Antwort unten zeigt ein skipToken in einem @odata.nextLink-Antwortheader.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt sein.

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

{
  "@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"
      },
      "transactionId": null,
      "iCalUId": "iCalUId-value",
      "reminderMinutesBeforeStart": 99,
      "isDraft": false,
      "isReminderOn": true
    }
  ]
}