conversations : getAllMessages

Espace de noms: microsoft.graph

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

Note: Il s’agit d’une API limitée qui prend en charge les model=A modèles de paiement et .model=B Pour plus d’informations, consultez Modèles de paiement. Si vous ne spécifiez pas de modèle de paiement dans votre requête, le mode d’évaluation par défaut est utilisé.

Selon le modèle de paiement que vous choisissez, une licence peut également être requise.

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

Service global Gouvernement des États-Unis L4 Us Government L5 (DOD) Chine gérée par 21Vianet

Autorisations

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

Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
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

Vous pouvez utiliser le paramètre de requête model , qui prend en charge les valeurs A et B, en fonction du modèle de licence et de paiement préféré, comme illustré dans les exemples suivants.

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

Si aucun paramètre n’est model spécifié, le mode d’évaluation est utilisé.

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 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 d’utilisateur $filter=from/user/id eq '{oid}'
Obtenir des messages de contrôle(événement système) $filter=messageType eq 'systemEventMessage'
Exclure les messages de contrôle (événement système) $filter=messageType ne 'systemEventMessage'

Note: 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 l’autorisation.

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.

Erreurs

Cette API a des exigences de licence et de paiement. Si ces exigences ne sont pas remplies, l’API retourne l’une des erreurs suivantes.

Exemple de type d’erreur Code d'état Exemple de message d’erreur
Exigence de licence E5 non remplie 402 (paiement requis) "...needs a valid license to access this API..."
"...tenant needs a valid license to access this API..."
Capacité d'évaluation dépassée 402 (paiement requis) "...evaluation mode capacity has been exceeded. Use a valid billing model..."

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