conversations : getAllMessages

Espace de noms: microsoft.graph

Obtenez tous les messages de toutes les conversations auxquelles un utilisateur participe, y compris les conversations en tête-à-tête, les conversations de groupe et les conversations de réunion.

Pour en savoir plus sur l'utilisation des API d'exportation Microsoft Teams pour exporter du contenu, consultez Exporter du contenu avec les API d'exportation Microsoft Teams.

Cette API est disponible dans les déploiements cloud nationaux suivants.

Service global Gouvernement américain L4 Gouvernement américain L5 (DOD) Chine exploitée par 21Vianet
✅ ✅ ✅ ❌

Autorisations

Choisissez l’autorisation ou les autorisations marquées comme étant les moins privilégiées pour cette API. Utilisez une ou plusieurs autorisations privilégiées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, voir Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez la référence des autorisations.

Type d’autorisation Autorisations les moins privilégiées Autorisations à privilèges plus élevés
Déléguée (compte professionnel ou scolaire) Non prise en charge. Non prise en charge.
Déléguée (compte Microsoft personnel) Non prise en charge. Non prise en charge.
Application Chat.Read.All Chat.ReadWrite.All

Requête HTTP

GET /users/{id | user-principal-name}/chats/getAllMessages

Paramètres facultatifs de la requête

Cette méthode prend également en charge les paramètres de plage de dates pour personnaliser la réponse, comme illustré dans l’exemple suivant.

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

Cette méthode prend également en charge le paramètre de $filter requête. Le tableau suivant répertorie des exemples.

Scénario Paramètre $filter Valeurs possibles
Obtenir les messages envoyés par type d’identité d’utilisateur $filter=from/user/userIdentityType eq '{teamworkUserIdentityType}' aadUser, onPremiseAadUser, anonymousGuest, federatedUser, personalMicrosoftAccountUser, skypeUser, phoneUser
Obtenir les messages envoyés par type d’application $filter=from/application/applicationIdentityType eq '{teamworkApplicationIdentity}' aadApplication, bot, tenantBot, office365Connector, outgoingWebhook
Obtenir les messages envoyés par ID utilisateur $filter=from/user/id eq '{oid}'
Messages Obtenir le contrôle (événement système) $filter=messageType eq 'systemEventMessage'
Exclure les messages de contrôle (événement système) $filter=messageType ne 'systemEventMessage'

Remarque : Ces clauses de filtre peuvent être jointes à l’aide de l’opérateur or . Une clause de filtre peut apparaître plusieurs fois dans une requête et elle peut filtrer sur une valeur différente chaque fois qu’elle apparaît dans la requête.

En-têtes de demande

En-tête Valeur
Autorisation Porteur {token}. Obligatoire. En savoir plus sur l’authentification et les autorisations.

Réponse

Si elle réussit, cette méthode renvoie un code de réponse 200 OK et une liste de chatMessages dans le corps de la réponse.

Remarque

Cette API peut également renvoyer des copies des messages de canal enregistrés par l’utilisateur dans Microsoft Teams. Teams stocke ces copies dans la boîte aux lettres de l’utilisateur afin que les utilisateurs puissent rechercher des messages enregistrés. Les messages du canal d’origine ne sont pas modifiés. Pour ces éléments de réponse, chatId l’est null et channelIdentity est renseigné.

Si votre application traite uniquement les messages de conversation, excluez les éléments où chatId se trouve null et channelIdentity est rempli. Appliquez cette case activée dans votre application une fois qu’elle a récupéré la réponse.

Exemple

Demande

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

Réponse

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

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": []
        }
    ]
}

Limites de limitation spécifiques au service Microsoft Graph