Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Namespace: microsoft.graph
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.
Abrufen einer Reihe von Nachrichten, die in einem angegebenen Ordner hinzugefügt, gelöscht oder aktualisiert wurden.
Ein Delta-Funktionsaufruf für Nachrichten in einem Ordner ähnelt einer GET-Anforderung, mit dem Unterschied, dass Sie durch entsprechende Anwendung von Zustandstoken in einem oder mehreren dieser Aufrufe inkrementelle Änderungen in den Nachrichten in diesem Ordner abfragen können. Die Verwendung von Deltas ermöglicht es Ihnen, einen lokalen Speicher für die Nachrichten eines Benutzers inkrementell zu verwalten und zu synchronisieren.
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) | 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
Gehen Sie folgendermaßen vor, um nur erstellte, aktualisierte oder gelöschte Nachrichten im angegebenen mailFolder abzurufen:
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 führt zu einer Runde von mindestens einem Delta-Funktionsaufruf. Wenn Sie eine OData-Systemabfrageoption oder die Option für benutzerdefinierte Abfragen verwenden, changeTypemüssen Sie dies in der ursprü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.
In nachfolgenden Anforderungen einfach die @odata.nextLink@odata.deltaLink oder-URL aus der vorherigen Antwort kopieren und anwenden, 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 Runde der Änderungsnachverfolgung 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 der Art der Änderung. Unterstützte Werte sind created, updated, oder deleted. |
OData-Abfrageparameter
- Sie können wie bei jeder GET-Anforderung den Abfrageparameter
$selectverwenden, um zwecks Leistungsoptimierung nur die benötigten Eigenschaften anzugeben. Die Eigenschaft id wird immer zurückgegeben. - Die Delta-Abfrage unterstützt
$select,$topund$expandfür Nachrichten. - Es gibt eingeschränkte Unterstützung für
$filterund$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+descunterstützt. Wenn Sie keinen$orderbyAusdruck einfügen, ist der Rückgabeauftrag nicht garantiert.
- Es werden nur die
- Es gibt keine Unterstützung für
$search.
Hinweis
Delta-Abfragen für Nachrichten können Änderungsereignisse zurückgeben, die nicht den in der ursprünglichen Anforderung angegebenen Filterbedingungen entsprechen.
Dies schließt ein:
-
@removedEinträge mit"reason": "deleted", wann ein Element aus dem Ordner gelöscht oder verschoben wird. - Änderungen des Status "Gelesen/Ungelesen".
Diese Ereignisse stammen nicht aus Änderungen an der Nachricht selbst. Sie werden im Rahmen des Synchronisierungsprozesses auf Ordnerebene ausgegeben, auf dem Deltatoken basieren.
Die Deltanachverfolgung erfolgt auf Sammlungsebene , nicht auf Nachrichtenebene, sodass diese Ereignisse nicht herausgefiltert werden.
Clients sollten darauf vorbereitet sein, solche Einträge zu verarbeiten, um eine genaue und vollständig synchronisierte lokale Ansicht der Nachrichtensammlung zu erhalten.
Anforderungsheader
| Name | Typ | Beschreibung |
|---|---|---|
| Authorization | string | Bearer {token}. Erforderlich. Erfahren Sie mehr über 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.
Zum Nachverfolgen von Änderungen an den Nachrichten in einem Ordner führen Sie einen oder mehrere Delta-Funktionsaufrufe aus, um die Menge der inkrementellen Änderungen seit der letzten Deltaabfrage abzurufen. Ein Beispiel, das eine Runde von Delta-Abfrageaufrufen zeigt, finden Sie unter Abrufen inkrementeller Änderungen an Nachrichten in einem Ordner.
GET https://graph.microsoft.com/beta/me/mailFolders/{id}/messages/delta
Prefer: odata.maxpagesize=2
Antwort
Wenn die Anforderung erfolgreich ist, würde die Antwort ein Zustandstoken enthalten, das entweder ein skipToken (in einem @odata.nextLink-Antwortheader ) oder ein deltaToken (in einem @odata.deltaLink-Antwortheader ) ist. Sie zeigen jeweils an, ob Sie mit der Runde fortfahren sollten oder ob Sie alle Änderungen für diese Runde erhalten haben.
Die folgende Antwort zeigt einen 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/beta/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"
}
}
]
}