Chats: getAllMessages

Namespace: microsoft.graph

Rufen Sie alle Nachrichten aus allen Chats ab, an denen ein Benutzer beteiligt ist, einschließlich der 1:1-Chats, Gruppenchats und Besprechungschats.

Anmerkung: Dies ist eine getaktete API, die die model=A Zahlungsmodelle und model=B unterstützt. Weitere Informationen finden Sie unter Zahlungsmodelle. Wenn Sie in Ihrer Abfrage kein Zahlungsmodell angeben, wird der Standardauswertungsmodus verwendet.

Je nachdem, für welches Zahlungsmodell Sie sich entscheiden, ist möglicherweise auch eine Lizenz erforderlich.

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

Optionale Abfrageparameter

Sie können den model Abfrageparameter verwenden, der die Werte A und B unterstützt, basierend auf dem bevorzugten Lizenzierungs- und Zahlungsmodell, wie in den folgenden Beispielen gezeigt.

GET /users/{id | user-principal-name}/chats/getAllMessages?model=A
GET /users/{id | user-principal-name}/chats/getAllMessages?model=B

Wenn kein model Parameter angegeben wird, wird der Auswertungsmodus verwendet.

Diese Methode unterstützt auch Datumsbereichsparameter , um die Antwort anzupassen, wie im folgenden Beispiel gezeigt.

GET /users/{id}/chats/getAllMessages?$top=50&$filter=lastModifiedDateTime gt 2020-06-04T18:03:11.591Z and lastModifiedDateTime lt 2020-06-05T21:00:09.413Z

Diese Methode unterstützt den $filter Abfrageparameter. In der folgenden Tabelle sind Beispiele aufgeführt.

Szenario $filter Parameter Mögliche Werte
Abrufen von Nachrichten, die nach Benutzeridentitätstyp gesendet werden $filter=from/user/userIdentityType eq '{teamworkUserIdentityType}' aadUser, onPremiseAadUser, anonymousGuest, federatedUser, personalMicrosoftAccountUser, skypeUser, phoneUser
Abrufen von Nachrichten, die nach Anwendungstyp gesendet werden $filter=from/application/applicationIdentityType eq '{teamworkApplicationIdentity}' aadApplication, bot, tenantBot, office365Connector, outgoingWebhook
Abrufen von Nachrichten, die nach Benutzer-ID gesendet werden $filter=from/user/id eq '{oid}'
Abrufen von Control(Systemereignis)-Meldungen $filter=messageType eq 'systemEventMessage'
Ausschließen von Steuerungsmeldungen (Systemereignismeldungen) $filter=messageType ne 'systemEventMessage'

Anmerkung: Diese Filterklauseln können mithilfe des or -Operators verknüpft werden. Eine Filterklausel kann in einer Abfrage mehrmals angezeigt werden, und sie kann jedes Mal nach einem anderen Wert filtern, wenn sie in der Abfrage angezeigt wird.

Anforderungsheader

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

Antwort

Wenn die Methode erfolgreich verläuft, werden ein 200 OK Antwortcode und eine Liste von chatMessages im Antworttext zurückgegeben.

Fehler

Für diese API gelten Lizenzierungs- und Zahlungsanforderungen. Wenn diese Anforderungen nicht erfüllt sind, gibt die API einen der folgenden Fehler zurück.

Beispielfehlertyp Statuscode Beispielfehlermeldung
E5-Lizenzanforderung nicht erfüllt 402 (Zahlung erforderlich) "...needs a valid license to access this API..."
"...tenant needs a valid license to access this API..."
Auswertungskapazität wurde überschritten 402 (Zahlung erforderlich) "...evaluation mode capacity has been exceeded. Use a valid billing model..."

Beispiel

Anforderung

GET https://graph.microsoft.com/v1.0/users/0b4f1cf6-54c8-4820-bbb7-2a1f4257ade5/chats/getAllMessages?$top=2

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/v1.0/$metadata#Collection(chatMessage)",
    "@odata.count": 2,
    "@odata.nextLink": "https://graph.microsoft.com/v1.0/users('0b4f1cf6-54c8-4820-bbb7-2a1f4257ade5')/chats/getallMessages?$top=2&$skiptoken=U2tpcFZhbHVlPTIjTWFpbGJveEZvbGRlcj1NYWlsRm9sZGVycy9UZWFtc01lc3NhZ2VzRGF0YQ%3d%3d",
    "value": [
        {
            "@odata.type": "#microsoft.graph.chatMessage",
            "id": "1621973534864",
            "replyToId": null,
            "etag": "1621973534864",
            "messageType": "message",
            "createdDateTime": "2021-05-25T20:12:14.864Z",
            "lastModifiedDateTime": "2021-05-25T20:12:14.864Z",
            "lastEditedDateTime": null,
            "deletedDateTime": null,
            "subject": null,
            "summary": null,
            "chatId": "19:3c9e92a344704332bbf5bda58f4d37b1@thread.v2",
            "importance": "normal",
            "locale": "en-us",
            "webUrl": null,
            "channelIdentity": null,
            "policyViolation": null,
            "eventDetail": null,
            "from": {
                "application": null,
                "device": null,
                "user": {
                    "id": "0b4f1cf6-54c8-4820-bbb7-2a1f4257ade5",
                    "displayName": "user1 a",
                    "userIdentityType": "aadUser"
                }
            },
            "body": {
                "contentType": "text",
                "content": "Hello user2, user 3"
            },
            "attachments": [],
            "mentions": [],
            "reactions": []
        },
        {
            "@odata.type": "#microsoft.graph.chatMessage",
            "id": "1622762567488",
            "replyToId": null,
            "etag": "1622762567488",
            "messageType": "message",
            "createdDateTime": "2021-06-03T23:22:47.488Z",
            "lastModifiedDateTime": "2021-06-03T23:22:47.488Z",
            "lastEditedDateTime": null,
            "deletedDateTime": null,
            "subject": null,
            "summary": null,
            "chatId": "19:0b4f1cf6-54c8-4820-bbb7-2a1f4257ade5_0d7c63d3-1306-4eec-8f21-588a70fb6ef1@unq.gbl.spaces",
            "importance": "normal",
            "locale": "en-us",
            "webUrl": null,
            "channelIdentity": null,
            "policyViolation": null,
            "eventDetail": null,
            "from": {
                "application": null,
                "device": null,
                "user": {
                    "id": "0b4f1cf6-54c8-4820-bbb7-2a1f4257ade5",
                    "displayName": "user1 a",
                    "userIdentityType": "aadUser"
                }
            },
            "body": {
                "contentType": "text",
                "content": "hi user2"
            },
            "attachments": [],
            "mentions": [],
            "reactions": []
        }
    ]
}

Microsoft Graph – dienstspezifische Drosselungslimiten