message: delta
Namespace: microsoft.graph
Dient zum Abrufen eines Satzes von Nachrichten, die einem bestimmten Ordner hinzugefügt bzw. daraus gelöscht oder darin aktualisiert wurden.
Ein Delta-Funktionsaufruf für Nachrichten in einem Ordner ähnelt einer GET-Anforderung, mit der Ausnahme, dass Sie durch die entsprechende Anwendung von Zustandstoken in einem oder mehreren dieser Aufrufe inkrementelle Änderungen an den Nachrichten in diesem Ordner abfragen können. Auf diese Weise können Sie einen lokalen Speicher der Nachrichten eines Benutzers verwalten und synchronisieren, ohne jedes Mal den gesamten Satz von Nachrichten 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) | Mail.ReadBasic | Mail.Read, Mail.ReadWrite |
Delegiert (persönliches Microsoft-Konto) | Mail.ReadBasic | Mail.Read, Mail.ReadWrite |
Anwendung | Mail.ReadBasic.All | Mail.Read, Mail.ReadWrite |
HTTP-Anforderung
So rufen Sie alle Änderungen an Nachrichten im angegebenen mailFolder ab:
GET /me/mailFolders/{id}/messages/delta
GET /users/{id}/mailFolders/{id}/messages/delta
So rufen Sie nur erstellte, aktualisierte oder gelöschte Nachrichten im angegebenen mailFolder ab:
GET /me/mailFolders/{id}/messages/delta?changeType=created
GET /users/{id}/mailfolders/{id}/messages/delta?changeType=created
GET /me/mailFolders/{id}/messages/delta?changeType=updated
GET /users/{id}/mailFolders/{id}/messages/delta?changeType=updated
GET /me/mailFolders/{id}/messages/delta?changeType=deleted
GET /users/{id}/mailFolders/{id}/messages/delta?changeType=deleted
Abfrageparameter
Das Nachverfolgen von Änderungen in Nachrichten verursacht eine Runde von einem oder mehreren Deltafunktionsaufrufen. Wenn Sie einen Abfrageparameter (außer $deltatoken
und $skiptoken
) verwenden, bei dem es sich um eine OData-Systemabfrageoption oder die benutzerdefinierte Abfrageoption changeType handelt, müssen Sie ihn in der anfänglichen Deltaanforderung 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.nextLink
URL aus der vorherigen Antwort, und wenden Sie sie an, da diese URL bereits die codierten gewünschten Parameter enthält.
Abfrageparameter | Typ | Beschreibung |
---|---|---|
$deltatoken | string | Ein Zustandstoken, das in der @odata.deltaLink URL des vorherigen Delta-Funktionsaufrufs für dieselbe Nachrichtensammlung zurückgegeben wird und den Abschluss dieser Änderungsnachverfolgungsrunde angibt. Speichern Sie die gesamte @odata.deltaLink -URL einschließlich dieses Tokens, und wenden Sie sie in der ersten Anforderung der nächsten Änderungsnachverfolgungsrunde für diese Sammlung an. |
$skiptoken | string | Ein Statustoken, das in der @odata.nextLink -URL des vorhergehenden delta-Funktionsaufrufs zurückgegeben wird und anzeigt, dass in derselben Nachrichtensammlung weitere Änderungen zum Nachverfolgen vorliegen. |
changeType | string | Eine benutzerdefinierte Abfrageoption zum Filtern der Deltaantwort basierend auf dem Änderungstyp. Unterstützte Werte sind created , updated oder deleted . |
OData-Abfrageparameter
- Sie können wie bei jeder GET-Anforderung den Abfrageparameter
$select
verwenden, um zwecks Leistungsoptimierung nur die benötigten Eigenschaften anzugeben. Die Eigenschaft id wird immer zurückgegeben. - Die Delta-Abfrage unterstützt
$select
,$top
und$expand
für Nachrichten. - Es besteht eingeschränkte Unterstützung für
$filter
und$orderby
:- Es werden nur die
$filter
-Ausdrücke$filter=receivedDateTime+ge+{value}
oder$filter=receivedDateTime+gt+{value}
unterstützt. - Es wird nur der
$orderby
-Ausdruck$orderby=receivedDateTime+desc
unterstützt. Wenn Sie keinen$orderby
-Ausdruck einschließen, ist die Rückgabereihenfolge nicht gewährleistet.
- Es werden nur die
-
$search
wird nicht unterstützt.
Anforderungsheader
Name | Typ | Beschreibung |
---|---|---|
Authorization | string | Bearer {token}. Erforderlich. Erfahren Sie mehr über die Authentifizierung und Autorisierung. |
Content-Type | string | application/json. Erforderlich. |
Prefer | string | odata.maxpagesize={x}. Optional. |
Antwort
Wenn die Methode erfolgreich verläuft, werden der Antwortcode 200 OK
und das message-Sammlungsobjekt im Antworttext zurückgegeben.
Beispiel
Anforderung
Das folgende Beispiel zeigt, wie Sie einen einzelnen delta-Funktionsaufruf ausführen und die maximale Anzahl von Nachrichten im Textkörper der Antwort auf 2 beschränken.
Um Änderungen an den Nachrichten in einem Ordner nachzuverfolgen, würden Sie einen oder mehrere Deltafunktionsaufrufe ausführen, um den Satz von inkrementellen Änderungen seit der letzten Deltaabfrage abzurufen. Ein Beispiel, das eine Runde von Deltaabfrageaufrufen zeigt, finden Sie unter Abrufen inkrementeller Änderungen an Nachrichten in einem Ordner.
GET https://graph.microsoft.com/v1.0/me/mailFolders/AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZiLTU1OGY5OTZhYmY4OAAuAAAAAAAiQ8W967B7TKBjgx9rVEURAQAiIsqMbYjsT5e-T7KzowPTAAAAAAFNAAA=/messages/delta
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/mailFolders/{id}/messages/delta?$skiptoken={_skipToken_}",
"value": [
{
"receivedDateTime": "datetime-value",
"sentDateTime": "datetime-value",
"hasAttachments": true,
"internetMessageId": "internetMessageId-value",
"subject": "subject-value",
"body": {
"contentType": "contentType-value",
"content": "content-value"
}
}
]
}