Compartilhar via


chats: getAllMessages

Namespace: microsoft.graph

Obtenha todas mensagens de todos os chats em que um usuário é participante, incluindo chats individuais, chats em grupo e chats de reunião.

Nota: Esta é uma API com tráfego limitado que suporta os model=A modelos de pagamento e model=B . Para obter detalhes, veja Modelos de pagamento. Se não especificar um modelo de pagamento na consulta, será utilizado o modo de avaliação predefinido.

Dependendo do modelo de pagamento que escolher, também poderá ser necessária uma licença.

Esta API está disponível nas seguintes implementações de cloud nacionais.

Serviço global US Government L4 US Government L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.

Tipo de permissão Permissões com menos privilégios Permissões com privilégios superiores
Delegado (conta corporativa ou de estudante) Sem suporte. Sem suporte.
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Aplicativo Chat.Read.All Chat.ReadWrite.All

Solicitação HTTP

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

Parâmetros de consulta opcionais

Você pode usar o model parâmetro de consulta, que suporta os valores A e B, com base no preferido modelo de licenciamento e pagamento, como mostrado nos seguintes exemplos.

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

Se não for especificado nenhum model parâmetro, será utilizado o modo de avaliação .

Este método também suporta parâmetros de intervalo de datas para personalizar a resposta, conforme mostrado no exemplo seguinte.

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

Este método suporta o $filter parâmetro de consulta. A tabela seguinte lista exemplos.

Cenário Parâmetro $filter Valores possíveis
Obter mensagens enviadas por tipo de identidade de utilizador $filter=from/user/userIdentityType eq '{teamworkUserIdentityType}' aadUser, onPremiseAadUser, anonymousGuest, federatedUser, personalMicrosoftAccountUser, skypeUser, phoneUser
Obter mensagens enviadas por tipo de aplicação $filter=from/application/applicationIdentityType eq '{teamworkApplicationIdentity}' aadApplication, bot, tenantBot, office365Connector, outgoingWebhook
Obter mensagens enviadas pelo ID de utilizador $filter=from/user/id eq '{oid}'
Obter mensagens de controlo (evento do sistema) $filter=messageType eq "systemEventMessage"
Excluir mensagens de controlo (evento do sistema) $filter=messageType ne "systemEventMessage"

Nota: Estas cláusulas de filtro podem ser associadas com o or operador . Uma cláusula de filtro pode aparecer mais do que uma vez numa consulta e pode filtrar um valor diferente sempre que for apresentada na consulta..

Cabeçalhos de solicitação

Cabeçalho Valor
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.

Resposta

Se bem-sucedido, este método retorna um código de resposta 200 OK e uma coleção de objetos event no corpo da resposta.

Erros

Esta API tem requisitos de licenciamento e pagamento. Se estes requisitos não forem cumpridos, a API devolve um dos seguintes erros.

Tipo de erro de exemplo Código de status Mensagem de erro de exemplo
Requisito de licença E5 não atendido 402 (Pagamento Obrigatório) "...needs a valid license to access this API..."
"...tenant needs a valid license to access this API..."
Capacidade de avaliação excedida 402 (Pagamento Obrigatório) "...evaluation mode capacity has been exceeded. Use a valid billing model..."

Exemplo

Solicitação

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

Resposta

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

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 limitação específicos do serviço do Microsoft Graph