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: Essa é uma API limitada que dá suporte aos model=A modelos de pagamento e model=B . Para obter detalhes, consulte Modelos de pagamento. Se você não especificar um modelo de pagamento em sua consulta, o modo de avaliação padrão será usado.

Dependendo do modelo de pagamento escolhido, uma licença também pode ser necessária.

Essa API está disponível nas seguintes implantações nacionais de nuvem.

Serviço global Governo dos EUA L4 GOVERNO DOS EUA L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a permissão ou as permissões marcadas como menos privilegiadas para essa API. Use uma permissão ou permissões privilegiadas mais altas somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.

Tipo de permissão Permissões menos privilegiadas Permissões privilegiadas mais altas
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 nenhum model parâmetro for especificado, o modo de avaliação será usado.

Esse método também dá suporte a parâmetros de intervalo de datas para personalizar a resposta, conforme mostrado no exemplo a seguir.

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

Esse método dá suporte ao $filter parâmetro de consulta. A tabela a seguir lista exemplos.

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

Nota: Essas cláusulas de filtro podem ser unidas usando o or operador. Uma cláusula de filtro pode aparecer mais de uma vez em uma consulta e pode filtrar em um valor diferente cada vez que ela aparece 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

Essa API tem requisitos de licenciamento e pagamento. Se esses requisitos não forem atendidos, a API retornará 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