chatMessage: delta
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.
Rufen Sie die Liste der Nachrichten aus allen Chats ab, an denen ein Benutzer teilnimmt, einschließlich Einzelchats, Gruppenchats und Besprechungschats. Wenn Sie Delta-Abfragen verwenden, können Sie neue oder aktualisierte Meldungen abrufen.
Anmerkung: Delta gibt nur Nachrichten innerhalb der letzten acht Monate zurück. Sie können GET /users/{id | user-principal-name}/chats/getAllMessages verwenden, um ältere Nachrichten abzurufen. Die Delta-Abfrage unterstützt sowohl die vollständige Synchronisierung, die alle Nachrichten aus allen Chats abruft, an denen ein Benutzer beteiligt ist, als auch die inkrementelle Synchronisierung, bei der Nachrichten seit der letzten Synchronisierung hinzugefügt oder geändert werden. In der Regel führen Sie eine anfängliche vollständige Synchronisierung durch und erhalten dann in regelmäßigen Abständen inkrementelle Änderungen an dieser Nachrichtenansicht.
Um die Antworten für eine Nachricht abzurufen, verwenden Sie die Listennachrichtenantworten oder die Vorgänge zum Abrufen von Nachrichtenantworten .
Eine GET-Anforderung mit der Delta-Funktion gibt eine der folgenden Rückgaben zurück:
- Ein @odata.nextLink , der eine URL mit einem Delta-Funktionsaufruf und einem
skipToken
enthält. - Ein @odata.deltaLink , der eine URL mit einem Delta-Funktionsaufruf und einem
deltaToken
enthält.
Zustandstoken sind für den Client nicht transparent. Um mit einer Runde der Änderungsnachverfolgung fortzufahren, kopieren Sie die url @odata.nextLink oder @odata.deltaLink , die von der letzten GET-Anforderung zurückgegeben wurde, und wenden Sie sie an den nächsten Delta-Funktionsaufruf an. Ein in einer Antwort zurückgegebener @odata.deltaLink bedeutet, dass die aktuelle Runde der Änderungsnachverfolgung abgeschlossen ist. Sie können die @odata.deltaLink-URL speichern und verwenden, wenn Sie mit dem Abrufen weiterer Änderungen beginnen (Nachrichten wurden geändert oder veröffentlicht, nachdem Sie @odata.deltaLink abgerufen haben).
Weitere Informationen hierzu finden Sie in der Dokumentation zur delta-Abfrage.
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) | Nicht unterstützt | Nicht unterstützt |
Delegiert (persönliches Microsoft-Konto) | Nicht unterstützt | Nicht unterstützt |
Anwendung | Chat.Read.All | Chat.ReadWrite.All |
HTTP-Anforderung
GET /users/{id | user-principal-name}/chats/getAllMessages/delta
Abfrageparameter
Das Nachverfolgen von Änderungen in Nachrichten 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 alle angegebenen Parameter automatisch in den Tokenteil der @odata.nextLink - oder @odata.deltaLink-URL , die in der Antwort angegeben wird.
Sie müssen Abfrageparameter nur einmal angeben.
Kopieren Sie in nachfolgenden Anforderungen die @odata.nextLink - oder @odata.deltaLink-URL aus der vorherigen Antwort, und wenden Sie sie an, da diese URL bereits die codierten Parameter enthält.
Abfrageparameter | Typ | Beschreibung |
---|---|---|
$deltatoken |
String | Ein Zustandstoken, das in der @odata.deltaLink-URL des vorherigen Delta-Funktionsaufrufs zurückgegeben wird und angibt, dass diese Runde der Änderungsnachverfolgung abgeschlossen wurde. Speichern Sie die gesamte @odata.deltaLink-URL , einschließlich dieses Tokens, und wenden Sie sie in der ersten Anforderung der nächsten Iteration der Änderungsnachverfolgung für diese Sammlung an. |
$skiptoken |
String | Ein Zustandstoken, das in der @odata.nextLink-URL des vorherigen Delta-Funktionsaufrufs zurückgegeben wird und angibt, dass weitere Änderungen zum Nachverfolgen verfügbar sind. |
Optionale OData-Abfrageparameter
Diese API unterstützt die folgenden OData-Abfrageparameter:
-
$top
stellt die maximale Anzahl von Nachrichten dar, die in einem Aufruf abgerufen werden sollen. Die Obergrenze ist50
. -
$skip
gibt an, wie viele Nachrichten am Anfang der Liste übersprungen werden sollen. -
$filter
gibt Nachrichten zurück, die einem bestimmten Kriterium entsprechen. Die einzige Eigenschaft, die Filter unterstützt, ist lastModifiedDateTime, and only the
gtoperator is supported. For example,
.. /messages/delta?$filter=lastModifiedDateTime gt 2024-08-27T07:13:28.000z' ruft alle Nachrichten ab, die nach dem angegebenen Datum und der angegebenen Uhrzeit erstellt oder geändert wurden.
Anforderungsheader
Kopfzeile | Wert |
---|---|
Authorization | Bearer {token}. Erforderlich. Erfahren Sie mehr über die Authentifizierung und Autorisierung. |
Anforderungstext
Geben Sie keinen Anforderungstext für diese Methode an.
Antwort
Wenn die Methode erfolgreich verläuft, werden der Antwortcode 200 OK
und eine Sammlung von chatMessage-Objekten im Antworttext zurückgegeben. Die Antwort enthält auch eine @odata.nextLink-URL oder eine @odata.deltaLink-URL .
Beispiele
Beispiel 1: Erstsynchronisierung
Das folgende Beispiel zeigt eine Reihe von drei Anforderungen zum Synchronisieren der Nachrichten. Die Antwort besteht aus drei Nachrichten:
- Schritt 1: ursprüngliche Anforderung und Antwort.
- Schritt 2: zweite Anforderung und Antwort
- Schritt 3: dritte Anforderung und letzte Antwort.
Aus Gründen der Übersichtlichkeit zeigen die Beispielantworten nur eine Teilmenge der Eigenschaften für eine Nachricht an. In einem tatsächlichen Aufruf werden die meisten Nachrichteneigenschaften zurückgegeben.
Sehen Sie sich auch an, was Sie in der nächsten Runde tun können, um weitere Nachrichten zu erhalten.
Ursprüngliche Anforderung
In diesem Beispiel werden die Chatnachrichten zum ersten Mal synchronisiert, und die anfängliche Synchronisierungsanforderung enthält kein Zustandstoken.
Die Anforderung gibt den optionalen $top
Abfrageparameter an, der zwei Nachrichten gleichzeitig zurückgibt.
GET https://graph.microsoft.com/beta/users/5ed12dd6-24f8-4777-be3d-0d234e06cefa/chats/getAllMessages/delta?$top=2
Antwort auf die ursprüngliche Anforderung
Die Antwort enthält zwei Nachrichten und einen @odata.nextLink-Antwortheader mit einem skipToken
. Die url @odata.nextLink gibt an, dass weitere Nachrichten in den Chats abgerufen werden können.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(microsoft.graph.chatMessage)",
"@odata.nextLink": "https://graph.microsoft.com/beta/users/5ed12dd6-24f8-4777-be3d-0d234e06cefa/chats/getAllMessages/delta?$skiptoken=a-5fqdzHFr_L_cc7C0q1F-HCB8Z9SjwOsMN37XV5yfSnYgK4jVGVGEl25GFlxKWq0Wv6quL-5qcNg4nUnxzof6namZ_DM5no-hcL515cSrRGDoRLn38fZE1AXoDugSTOohOq3YRCYLqJbFGIoovMPTar32oLuoltHixme-Bf1lZtscv1wv5uu-MtkpYZIT0uDw-umQUK7mLNjMcyhNaifDrdemGUDMaQ25_QuHukNbkXcxsKMJdJ288p9IkaSeEyJHX5a6T_kEdAmuffsdzOGY8mLbLc7VEsUL75rGdt2aiKkywaPHsT9bDGV7MBo7WM2g_kdPeLdRPSdSxxhkGpNA.y_WMscy7negz0HZPhgjH-YyzsdeXzr2UDSfNrdzC78A",
"value": [
{
"replyToId": null,
"etag": "1727366299993",
"messageType": "message",
"createdDateTime": "2024-09-26T15:58:19.993Z",
"lastModifiedDateTime": "2024-09-26T15:58:19.993Z",
"lastEditedDateTime": null,
"deletedDateTime": null,
"subject": "",
"summary": null,
"chatId": "19:65a44130a0f249359d77858287ed39f0@thread.v2",
"importance": "normal",
"locale": "en-us",
"webUrl": null,
"channelIdentity": null,
"policyViolation": null,
"eventDetail": null,
"id": "1727366299993",
"from": {
"application": null,
"device": null,
"user": {
"@odata.type": "#microsoft.graph.teamworkUserIdentity",
"id": "43383bf2-f7ab-4ba3-bf5e-12d071db189b",
"displayName": "CFCC5",
"userIdentityType": "aadUser",
"tenantId": "f54e6700-e876-410b-8996-d6447d64098a"
}
},
"body": {
"contentType": "html",
"content": "<div>\n<div itemprop=\"copy-paste-block\">reply 9 to new conv</div>\n</div>"
},
"attachments": [],
"mentions": [],
"reactions": []
},
{
"replyToId": null,
"etag": "1727216579286",
"messageType": "message",
"createdDateTime": "2024-09-24T22:22:59.286Z",
"lastModifiedDateTime": "2024-09-24T22:22:59.286Z",
"lastEditedDateTime": null,
"deletedDateTime": null,
"subject": "",
"summary": null,
"chatId": "19:2a247d5dadc24f408d009e4ae84502cf@thread.v2",
"importance": "normal",
"locale": "en-us",
"webUrl": null,
"channelIdentity": null,
"policyViolation": null,
"eventDetail": null,
"id": "1727216579286",
"from": {
"application": null,
"device": null,
"user": {
"@odata.type": "#microsoft.graph.teamworkUserIdentity",
"id": "43383bf2-f7ab-4ba3-bf5e-12d071db189b",
"displayName": "CFCC5",
"userIdentityType": "aadUser",
"tenantId": "f54e6700-e876-410b-8996-d6447d64098a"
}
},
"body": {
"contentType": "html",
"content": "<div>\n<div itemprop=\"copy-paste-block\">reply 10 to new conv</div>\n</div>"
},
"attachments": [],
"mentions": [],
"reactions": []
}
]
}
Zweite Anforderung
Die zweite Anforderung gibt die @odata.nextLink-URL an, die von der vorherigen Antwort zurückgegeben wurde. Beachten Sie, dass nicht mehr derselbe $top
Parameter wie in der ursprünglichen Anforderung angegeben werden muss, da die skipToken
in der @odata.nextLink-URL codiert und diese Parameter enthält.
GET https://graph.microsoft.com/beta/users/5ed12dd6-24f8-4777-be3d-0d234e06cefa/chats/getAllMessages/delta?&%24skiptoken=a-5fqdzHFr_L_cc7C0q1F-HCB8Z9SjwOsMN37XV5yfSnYgK4jVGVGEl25GFlxKWq0Wv6quL-5qcNg4nUnxzof6namZ_DM5no-hcL515cSrRGDoRLn38fZE1AXoDugSTOohOq3YRCYLqJbFGIoovMPTar32oLuoltHixme-Bf1lZtscv1wv5uu-MtkpYZIT0uDw-umQUK7mLNjMcyhNaifMIVTT-htmEOClLVwgcyWLR-sl9Qb73uTTtPXdFdMK6FDE4gpwvvKxvo2ChsW2c4eo77LDh6ZL_WQ8Luq00koQ6vHIrLBHPMUdOAxDxu-U7N7H4hsFn9aRDRdwRky7067A.V2a-J-86yXTd9SJMA4CHP6enI-Ab-bQzRgYujwsIwDo
Antwort auf die zweite Anforderung
Die zweite Antwort gibt die nächsten beiden Nachrichten und einen @odata.nextLink-Antwortheader mit einem zurück skipToken
, der angibt, dass weitere Nachrichten zum Abrufen verfügbar sind.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(microsoft.graph.chatMessage)",
"@odata.nextLink": "https://graph.microsoft.com/beta/users/5ed12dd6-24f8-4777-be3d-0d234e06cefa/chats/getAllMessages/delta?$skiptoken=yJQeoV00BlfhYsCMsrn1GnNz7v5S39NShp1U4rzLZnPsraIATwnnsvbdv52hvKp7AAG-Bcwdu7dA7UweXHvGYQ2M5eysh-cNz6EZICZp7kM9HtmQHu7JU-_sX5S1edvEQxyAgm1R2HXk4R9_TWn9ZAu1BRQ-elS9hg0f8BlwKLCIluuSPS2ZuNVnQTOOYMMpmzKGX4wVVQUv0UlrIFZIPWTeriNpg5sJFd91n2GHSMnS7WaRTh3NSmvJE08ww-2CjGml2RjPyHfLHSqywuNt5BGNVj_vqsLbjetdDIYZFa_yaQqV_Bp5DaWM_nXD8RjVULH7H4ATXoUiG3Etsd_Nhd_GIYoxV6x2_rmbh928WPGSsenCOa352tyFxmuyTH0ozDmU4onVbGnOBQEYJDKZjuIeNVW-E19VHthjZ9GvYGE.NHJkfAbRu3Qoozl699AinriiHvWofLVnWkB5wEJmZlk",
"value": [
{
"replyToId": null,
"etag": "1726706286844",
"messageType": "message",
"createdDateTime": "2024-09-19T00:38:06.844Z",
"lastModifiedDateTime": "2024-09-19T00:38:06.844Z",
"lastEditedDateTime": null,
"deletedDateTime": null,
"subject": "",
"summary": null,
"chatId": "19:65a44130a0f249359d77858287ed39f0@thread.v2",
"importance": "normal",
"locale": "en-us",
"webUrl": null,
"channelIdentity": null,
"policyViolation": null,
"eventDetail": null,
"id": "1726706286844",
"from": {
"application": null,
"device": null,
"user": {
"@odata.type": "#microsoft.graph.teamworkUserIdentity",
"id": "43383bf2-f7ab-4ba3-bf5e-12d071db189b",
"displayName": "CFCC5",
"userIdentityType": "aadUser",
"tenantId": "f54e6700-e876-410b-8996-d6447d64098a"
}
},
"body": {
"contentType": "html",
"content": "<p>Not one message, but several combined together to give you the full picture</p>"
},
"attachments": [],
"mentions": [],
"reactions": []
},
{
"replyToId": null,
"etag": "1726706276201",
"messageType": "message",
"createdDateTime": "2024-09-19T00:37:56.201Z",
"lastModifiedDateTime": "2024-09-19T00:37:56.201Z",
"lastEditedDateTime": null,
"deletedDateTime": null,
"subject": "",
"summary": null,
"chatId": "19:65a44130a0f249359d77858287ed39f0@thread.v2",
"importance": "normal",
"locale": "en-us",
"webUrl": null,
"channelIdentity": null,
"policyViolation": null,
"eventDetail": null,
"id": "1726706276201",
"from": {
"application": null,
"device": null,
"user": {
"@odata.type": "#microsoft.graph.teamworkUserIdentity",
"id": "43383bf2-f7ab-4ba3-bf5e-12d071db189b",
"displayName": "CFCC5",
"userIdentityType": "aadUser",
"tenantId": "f54e6700-e876-410b-8996-d6447d64098a"
}
},
"body": {
"contentType": "html",
"content": "<p>Dive into the possibilities of incorporating context into ML evaluations by looking at entire conversations</p>"
},
"attachments": [],
"mentions": [],
"reactions": []
}
]
}
Dritte Anforderung
Die dritte Anforderung verwendet weiterhin den neuesten @odata.nextLink , der von der letzten Synchronisierungsanforderung zurückgegeben wurde.
GET https://graph.microsoft.com/beta/users/5ed12dd6-24f8-4777-be3d-0d234e06cefa/chats/getAllMessages/delta?$skiptoken=8UusBixEHS9UUau6uGcryrA6FpnWwMJbuTYILM1PArHxnZzDVcsHQrijNzCyIVeEauMQsKUfMhNjLWFs1o4sBS_LofJ7xMftZUfec_pijuT6cAk5ugcWCca9RCjK7iVj.DKZ9w4bX9vCR7Sj9P0_qxjLAAPiEZgxlOxxmCLMzHJ4
Antwort auf die dritte Anforderung
Die dritte Antwort gibt die einzigen verbleibenden Nachrichten und einen @odata.deltaLink-Antwortheader mit einem zurück deltaToken
, der angibt, dass alle Nachrichten zurückgegeben werden. Speichern Sie die @odata.deltaLink-URL , und verwenden Sie sie, um alle neuen Nachrichten abzufragen, die ab diesem Zeitpunkt hinzugefügt oder geändert wurden.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(microsoft.graph.chatMessage)",
"@odata.deltaLink": "https://graph.microsoft.com/beta/users/5ed12dd6-24f8-4777-be3d-0d234e06cefa/chats/getAllMessages/delta?$deltatoken=aQdvS1VwGCSRxVmZJqykmDik_JIC44iCZpv-GLiA2VnFuE5yG-kCEBROb2iaPT_y_eMWVQtBO_ejzzyIxl00ji-tQ3HzAbW4liZAVG88lO3nG_6-MBFoHY1n8y21YUzjocG-Cn1tCNeeLPLTzIe5Dw.EP9gLiCoF2CE_e6l_m1bTk2aokD9KcgfgfcLGqd1r_4",
"value": [
{
"replyToId": null,
"etag": "1726706340932",
"messageType": "message",
"createdDateTime": "2024-09-19T00:39:00.932Z",
"lastModifiedDateTime": "2024-09-19T00:39:00.932Z",
"lastEditedDateTime": null,
"deletedDateTime": null,
"subject": "",
"summary": null,
"chatId": "19:65a44130a0f249359d77858287ed39f0@thread.v2",
"importance": "normal",
"locale": "en-us",
"webUrl": null,
"channelIdentity": null,
"policyViolation": null,
"eventDetail": null,
"id": "1726706340932",
"from": {
"application": null,
"device": null,
"user": {
"@odata.type": "#microsoft.graph.teamworkUserIdentity",
"id": "43383bf2-f7ab-4ba3-bf5e-12d071db189b",
"displayName": "CFCC5",
"userIdentityType": "aadUser",
"tenantId": "f54e6700-e876-410b-8996-d6447d64098a"
}
},
"body": {
"contentType": "html",
"content": "<p>let's get started!</p>"
},
"attachments": [],
"mentions": [],
"reactions": []
}
]
}
Beispiel 2: Die nächste Runde zum Abrufen weiterer Nachrichten
Mit dem @odata.deltaLink aus der letzten Anforderung in der letzten Runde können Sie nur die Nachrichten abrufen, die seit dem Abrufen der @odata.deltaLink geändert (hinzugefügt oder aktualisiert) wurden. Ihre Anforderung sollte wie folgt aussehen, vorausgesetzt, Sie möchten die gleiche maximale Seitengröße in der Antwort beibehalten.
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
GET https://graph.microsoft.com/beta/users/5ed12dd6-24f8-4777-be3d-0d234e06cefa/chats/getAllMessages/delta?$deltatoken=aQdvS1VwGCSRxVmZJqykmDik_JIC44iCZpv-GLiA2VnFuE5yG-kCEBROb2iaPT_y_eMWVQtBO_ejzzyIxl00ji-tQ3HzAbW4liZAVG88lO3nG_6-MBFoHY1n8y21YUzjocG-Cn1tCNeeLPLTzIe5Dw.EP9gLiCoF2CE_e6l_m1bTk2aokD9KcgfgfcLGqd1r_4
Antwort
Das folgende Beispiel zeigt die Antwort.
Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(chatMessage)",
"@odata.deltaLink": "https://graph.microsoft.com/beta/users/5ed12dd6-24f8-4777-be3d-0d234e06cefa/chats/getAllMessages/delta?$deltatoken=aQdvS1VwGCSRxVmZJqykmDik_JIC44iCZpv-GLiA2VnFuE5yG-kCEBROb2iaPT_yjz2nsMoh1gXNtXii7s78HapCi5woifXqwXlVNxICh8wUUnvE2gExsa8eZ2Vy_ch5rVIhm067_1mUPML3iYUVyg.3o0rhgaBUduuxOr98An5pjBDP5JjKUiVWku3flSiOsk",
"value": [
{
"replyToId": null,
"etag": "1727366299999",
"messageType": "message",
"createdDateTime": "2024-09-26T15:58:19.993Z",
"lastModifiedDateTime": "2024-09-26T17:58:19.993Z",
"lastEditedDateTime": null,
"deletedDateTime": null,
"subject": "",
"summary": null,
"chatId": "19:65a44130a0f249359d77858287ed39f0@thread.v2",
"importance": "normal",
"locale": "en-us",
"webUrl": null,
"channelIdentity": null,
"policyViolation": null,
"eventDetail": null,
"id": "1727366299999",
"from": {
"application": null,
"device": null,
"user": {
"@odata.type": "#microsoft.graph.teamworkUserIdentity",
"id": "43383bf2-f7ab-4ba3-bf5e-12d071db189b",
"displayName": "CFCC5",
"userIdentityType": "aadUser",
"tenantId": "f54e6700-e876-410b-8996-d6447d64098a"
}
},
"body": {
"contentType": "html",
"content": "newly added content"
},
"attachments": [],
"mentions": [],
"reactions": []
}
]
}