chats: getAllMessages
Namespace: microsoft.graph
Important
APIs under the /beta
version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported. To determine whether an API is available in v1.0, use the Version selector.
Get all messages from all chats that a user is a participant in, including one-on-one chats, group chats, and meeting chats.
Note: This is a metered API that supports the
model=A
andmodel=B
payment models. For details, see Payment models. If you don't specify a payment model in your query, the default evaluation mode will be used.Depending on which payment model you choose, a license might also be required.
This API is available in the following national cloud deployments.
Global service | US Government L4 | US Government L5 (DOD) | China operated by 21Vianet |
---|---|---|---|
✅ | ❌ | ❌ | ❌ |
Permissions
Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.
Permission type | Least privileged permissions | Higher privileged permissions |
---|---|---|
Delegated (work or school account) | Not supported. | Not supported. |
Delegated (personal Microsoft account) | Not supported. | Not supported. |
Application | Chat.Read.All | Chat.ReadWrite.All |
HTTP request
GET /users/{id | user-principal-name}/chats/getAllMessages
Optional query parameters
You can use the model
query parameter, which supports the values A
and B
, based on the preferred licensing and payment model,
as shown in the following examples.
GET /users/{id | user-principal-name}/chats/getAllMessages?model=A
GET /users/{id | user-principal-name}/chats/getAllMessages?model=B
If no model
parameter is specified, evaluation mode will be used.
This method also supports date range parameters to customize the response, as shown in the following example.
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
This method supports also supports $filter
. The following table lists examples.
Scenario | $filter parameter |
Possible values |
---|---|---|
Get messages sent by user identity type | $filter=from/user/userIdentityType eq '{teamworkUserIdentityType}' | aadUser, onPremiseAadUser, anonymousGuest, federatedUser, personalMicrosoftAccountUser, skypeUser, phoneUser |
Get messages sent by application type | $filter=from/application/applicationIdentityType eq '{teamworkApplicationIdentity}' | aadApplication, bot, tenantBot, office365Connector, outgoingWebhook |
Get messages sent by user ID | $filter=from/user/id eq '{oid}' | |
Get control(system event) messages | $filter=messageType eq 'systemEventMessage' | |
Exclude control (system event) messages | $filter=messageType ne 'systemEventMessage' |
Note: These filter clauses can be joined by using the
or
operator. A filter clause can appear more than once in a query, and it can filter on a different value each time it appears within the query.
Request headers
Header | Value |
---|---|
Authorization | Bearer {token}. Required. Learn more about authentication and authorization. |
Response
If successful, this method returns a 200 OK
response code and a list of chatMessages in the response body.
Example
Request
GET https://graph.microsoft.com/beta/users/8b081ef6-4792-4def-b2c9-c363a1bf41d5/chats/getAllMessages
Response
Note: The response object shown here might be shortened for readability.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/beta/$metadata#Collection(chatMessage)",
"@odata.count":10,
"@odata.nextLink":"https://graph.microsoft.com/beta/users/8b081ef6-4792-4def-b2c9-c363a1bf41d5/chats/getAllMessages?$skip=10",
"value":[
{
"@odata.type":"#microsoft.graph.chatMessage",
"id":"1600457965467",
"replyToId":null,
"etag":"1600457965467",
"messageType":"message",
"createdDateTime":"2020-09-18T19:39:25.467Z",
"lastModifiedDateTime":"2020-09-18T19:39:25.467Z",
"lastEditedDateTime":null,
"deletedDateTime":null,
"subject":null,
"summary":null,
"chatId":"19:0de69e5e-2da8-4cf2-821f-5e6585b2c65b_5c64e248-3269-4268-a36e-0f80314e9c39@unq.gbl.spaces",
"importance":"normal",
"locale":"en-us",
"webUrl":null,
"channelIdentity":null,
"policyViolation":null,
"eventDetail": null,
"from":{
"application":null,
"device":null,
"conversation":null,
"user":{
"id":"0de69e5e-2da8-4cf2-821f-5e6585b2c65b",
"displayName":"Richard Wilson",
"userIdentityType":"aadUser"
}
},
"body":{
"contentType":"html",
"content":"<div>\n<blockquote itemscope=\"\" itemtype=\"http://schema.skype.com/Reply\" itemid=\"1600457867820\">\n<strong itemprop=\"mri\" itemid=\"8:orgid:0de69e5e-2da8-4cf2-821f-5e6585b2c65b\">Richard Wilson</strong><span itemprop=\"time\" itemid=\"1600457867820\"></span>\n<p itemprop=\"preview\">1237</p>\n</blockquote>\n<p>this is a reply</p>\n</div>"
},
"attachments":[
],
"mentions":[
],
"reactions":[
]
}
]
}
Related content
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기