Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Api экспорта Teams позволяют экспортировать сообщения 1:1, группового чата, чатов собраний и сообщений каналов из Microsoft Teams. Если вашей организации необходимо экспортировать сообщения Microsoft Teams, их можно извлечь с помощью API экспорта Teams. Сообщение чата представляет отдельное сообщение чата в канале или чате. Сообщение чата может быть корневым сообщением чата или частью потока ответа, определенного свойством replyToId в сообщении чата.
Ниже приведены некоторые примеры использования этих API-интерфейсов экспорта.
Пример 1. Если вы включили Microsoft Teams в своей организации и хотите экспортировать все сообщения Microsoft Teams на дату программным путем, передав диапазон дат для конкретного пользователя или команды.
Пример 2. Если вы хотите программно экспортировать все сообщения пользователей или команды ежедневно, указав диапазон дат. API-интерфейсы экспорта могут извлекать все сообщения, созданные или обновленные в течение заданного диапазона дат.
Пример 3. Если вы хотите программно экспортировать ссылки на записи собраний Teams для данного организатора собрания, а затем скачать фактические записи.
Пример 4. Если вы хотите программно экспортировать ссылки на расшифровки собраний Teams для данного организатора собрания, а затем скачать фактические расшифровки.
Что поддерживается API экспорта Teams?
- Массовый экспорт сообщений Teams: См . раздел Ограничения регулирования API экспорта Teams. С этими ограничениями вы сможете выполнять массовый экспорт сообщений Teams.
- Максимальное ограничение для сообщений Teams: Максимальное ограничение фильтра для API сообщений Teams рекомендуется установить в 250 в качестве максимального предела, после которого производительность будет ограничена.
- Контекст приложения. Чтобы вызвать Microsoft Graph, приложение должно получить маркер доступа из платформа удостоверений Майкрософт. Маркер доступа содержит сведения о вашем приложении и разрешениях, которые у него есть для ресурсов и API, доступных через Microsoft Graph. Чтобы получить маркер доступа, приложение должно быть зарегистрировано в платформа удостоверений Майкрософт. Пользователь или администратор должны авторизовать его для доступа к ресурсам Microsoft Graph, которые ему нужны. Если вы уже знакомы с интеграцией приложения с платформа удостоверений Майкрософт для получения маркеров, ознакомьтесь с разделом Дальнейшие действия для получения сведений и примеров, относящихся к Microsoft Graph.
- Гибридная среда: Api экспорта поддерживают сообщения, отправленные пользователями, подготовленными в гибридной среде (локальные exchange и Teams). Все сообщения, отправленные пользователями, настроенными для гибридной среды, доступны с помощью API экспорта.
- Сообщения, удаленные пользователем: Доступ к сообщениям, удаленным пользователями из клиента Teams, можно получить с помощью API экспорта в течение 21 дня с момента удаления.
- Вложения сообщений: API-интерфейсы экспорта включают ссылки на вложения, отправляемые в составе сообщений. С помощью API экспорта можно получить файлы, вложенные в сообщения.
- Реакции: API-интерфейсы экспорта поддерживают реакции, инициированные пользователем на сообщение Teams. Реакции в настоящее время поддерживаются сердце, сердитые, как, грустно, удивлены, и смеются. Помимо реакций, API экспорта также поддерживает журнал редактирования реакций, который включает изменения и обновления, внесенные в реакцию на сообщение.
Примечание.
Реакции, настроенные с изменением цвета, в настоящее время не поддерживаются API экспорта.
Сообщения общего канала: API-интерфейсы экспорта поддерживают запись сообщений из общего канала.
Удаленные команды: API экспорта поддерживает запись сообщений из удаленных Teams и удаленных стандартных, частных и общих каналов не более 30 дней с момента удаления. Через 30 дней команды и каналы будут удалены, а сообщения не могут быть извлечены.
Удаленные пользователи. API экспорта поддерживает запись сообщений для удаленных пользователей на срок до 30 дней с момента удаления пользователя. Чтобы найти список удаленных пользователей, см. раздел Удаленные элементы.
Неактивные пользователи. API экспорта поддерживает запись сообщений для неактивных пользователей до 30 дней с момента, когда пользователь становится неактивным. Чтобы найти список неактивных почтовых ящиков, см. раздел Неактивные почтовые ящики.
Свойства сообщения чата: Полный список свойств, поддерживаемых API экспорта Teams.
Управляющие сообщения: API экспорта поддерживает сбор контрольных сообщений в дополнение к созданным пользователем сообщениям. Управляющие сообщения — это системные сообщения, которые отображаются в клиенте Teams. Они содержат важную информацию, например "Пользователь А добавил пользователя B в чат и предоставил общий доступ ко всему журналу чата", а также метку времени. Системные сообщения позволяют вызывающей организации получать аналитические сведения о событиях, произошедших в команде, канале или чате. См. список сообщений элемента управления , которые в настоящее время поддерживает API экспорта.
Дополнительные сведения об экспорте сообщений в чате и канале.
Примечание.
Сообщения элементов управления, связанные с собранием, в настоящее время не поддерживаются API экспорта.
Измененный журнал: Если клиент настроен с политикой хранения Teams, API экспорта поддерживает запись измененного журнала сообщений для отдельных и групповых чатов, а также записей и комментариев в общедоступных и общих каналах.
Дополнительные сведения о политике хранения Teams см. в статье Управление политиками хранения для Microsoft Teams .
Дополнительные сведения об экспорте измененных сообщений журнала в чатах и каналах.
Расшифровки собраний: Получите все расшифровки из запланированных экземпляров собраний по сети, организатором которых является указанный пользователь. В настоящее время этот API поддерживает только частные запланированные собрания.
Дополнительные сведения об экспорте расшифровок собраний.
- Записи собраний: Получение всех записей из запланированных экземпляров собраний по сети, организатором которых является указанный пользователь. В настоящее время этот API поддерживает только частные запланированные собрания.
Дополнительные сведения об экспорте записей собраний.
Как получить доступ к API экспорта Teams
Пример 1 — это простой запрос для получения всех сообщений пользователя или команды без фильтров:
GET https://graph.microsoft.com/v1.0/users/{id}/chats/getAllMessages
GET https://graph.microsoft.com/v1.0/teams/{id}/channels/getAllMessages
Пример 2 — это пример запроса для получения всех сообщений пользователя или команды путем указания фильтров даты и времени и первых 50 сообщений:
GET https://graph.microsoft.com/v1.0/users/{id}/chats/getAllMessages?$top=50&$filter=lastModifiedDateTime gt 2020-06-04T18:03:11.591Z and lastModifiedDateTime lt 2020-06-05T21:00:09.413Z
GET https://graph.microsoft.com/v1.0/teams/{id}/channels/getAllMessages?$top=50&$filter=lastModifiedDateTime gt 2020-06-04T18:03:11.591Z and lastModifiedDateTime lt 2020-06-05T21:00:09.413Z
Пример 3 — это пример запроса для получения ссылок на все доступные записи собраний Teams пользователя. Фильтрация по диапазону дат поддерживается. Фильтр TOP n поддерживается аналогично сообщениям чата:
GET https://graph.microsoft.com/v1.0/users/{id}/onlineMeetings/getAllRecordings?$filter=MeetingOrganizer/User/Id eq ‘{id}’
GET https://graph.microsoft.com/v1.0/users/{id}/onlineMeetings/getAllRecordings(meetingOrganizerUserId='{userId}',startDateTime={startDateTime},endDateTime={endDateTime})
Пример 4 — это пример запроса для получения ссылок на все доступные расшифровки собраний Teams пользователя. Фильтрация по диапазону дат поддерживается. Фильтр TOP n поддерживается аналогично сообщениям чата:
GET https://graph.microsoft.com/v1.0/users/{id}/onlineMeetings/getAllTranscripts?$filter=MeetingOrganizer/User/Id eq ‘{id}’
GET https://graph.microsoft.com/v1.0/users/{id}/onlineMeetings/getAllTranscripts(meetingOrganizerUserId='{userId}',startDateTime={startDateTime},endDateTime={endDateTime})
Примечание.
ПРИ наличии нескольких результатов API возвращает ответ со ссылкой на следующую страницу. Для получения следующего набора результатов вызовите GET по URL-адресу из @odata.nextlink. Если @odata.nextlink значение отсутствует или значение NULL, извлекаются все сообщения.
Примечание.
Порядок сообщений в ответе не гарантирует сортировку по дате и времени, например createdDateTime или lastModifiedDateTime.
Предварительные требования для доступа к API экспорта Teams
API Microsoft Teams в Microsoft Graph, которые обращаются к конфиденциальным данным, считаются защищенными API. Эти API можно вызывать при условии, что выполнены требования для доступа без пользователя .
Разрешения приложений используются приложениями, которые выполняются без вошедшего пользователя. Только администратор может утверждать разрешения приложений. Требуются следующие разрешения:
Chat.Read.All: предоставляет доступ ко всем сообщениям чата 1:1, группового чата и чата собраний.
ChannelMessage.Read.All: обеспечивает доступ ко всем сообщениям канала.
User.Read.All: обеспечивает доступ к списку пользователей для клиента.
OnlineMeetingTranscript.Read.All: обеспечивает доступ к расшифровкам для всех запланированных собраний Teams в формате 1:n.
OnlineMeetingRecording.Read.All: обеспечивает доступ к записям для всех запланированных собраний Teams в формате 1:n.
Требования к лицензиям для API экспорта Teams
API экспорта поддерживает сценарии безопасности и соответствия (S+C) и общего использования с помощью параметра запроса модели. Сценарии S+C (модель A) включают начальную емкость и требуют подписки E5, а сценарии общего использования (модель B) доступны для всех подписок и являются только потреблением. Дополнительные сведения о начальной емкости и расходах см. в статье Требования к лицензированию и оплате для API Microsoft Graph Teams.
Для бета-интерфейсов API в настоящее время нет правил лицензирования или использования модели A или модели B. Однако в будущем могут быть лицензирования или принудительного использования.
Сценарии S+C/Model A
Эти сценарии ограничены приложениями, выполняющими функции безопасности и (или) соответствия требованиям. Пользователи должны иметь определенные лицензии E5, чтобы использовать эту функцию и получать начальную емкость. Начальная емкость рассчитывается на пользователя и вычисляется в месяц и агрегируется на уровне клиента. За использование за пределами начальной емкости владельцам приложений взимается плата за использование API. Модель A может получать доступ только к сообщениям пользователей с назначенной лицензией E5.
Имя партнера | Партнерское решение |
---|---|
![]() |
Архивация и соответствие требованиям Microsoft Teams |
![]() |
Сбор содержимого Proofpoint для Microsoft Teams |
Сценарии общего использования и модели B
Доступно для всех сценариев, не связанных с S+C, нет требований к лицензии или начальной емкости. Когда счетчики потребления становятся доступными, владельцы приложений списываются за все ежемесячные вызовы API.
Следующие партнеры сертифицированы. Ваша компания может работать с любым сочетанием этих партнеров в рамках вашего предприятия.
Имя партнера | Партнерское решение |
---|---|
![]() |
Резервное копирование и восстановление Microsoft Teams |
![]() |
Резервное копирование и восстановление Microsoft Teams |
Дальнейшие действия
Если вы являетесь поставщиком, желающим присоединиться к программе сертификации, заполните эту форму в качестве следующего шага. Если вам нужно указать больше контекста и подробных сведений, по электронной почте по электронной почте в группу экосистем MS Teams (TeamsCategoryPartner@microsoft.com).
Режим оценки (по умолчанию)
Без объявления модели доступ к API-интерфейсам с ограниченным использованием для каждого запрашивающего приложения в целях оценки.
Представление JSON
В следующем примере представлено представление ресурса чата в формате JSON:
Пространство имен: microsoft.graph
{ "id": "string (identifier)", "replyToId": "string (identifier)", "from": {"@odata.type": "microsoft.graph.identitySet"}, "etag": "string", "messageType": "string", "createdDateTime": "string (timestamp)", "lastModifiedDateTime": "string (timestamp)", "deletedDateTime": "string (timestamp)", "subject": "string", "from": { "application": null, "device": null, "conversation": null, "user": { "id": [{"@odata.type": "microsoft.graph.user"}], "displayName": "User Name", "userIdentityType": "aadUser" } }, "body": {"@odata.type": "microsoft.graph.itemBody"}, "summary": "string", "chatId": [{"@odata.type": "microsoft.graph.chat"}] "attachments": [{"@odata.type": "microsoft.graph.chatMessageAttachment"}], "mentions": [{"@odata.type": "microsoft.graph.chatMessageMention"}], "importance": "string", "locale": "string", }
Примечание.
Дополнительные сведения о ресурсе chatMessage см. в статье Тип ресурса chatMessage .
В следующем примере представлен ресурс записи в формате JSON:
Пространство имен: microsoft.graph
{ "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(meetingRecording)", "@odata.count": 2, "@odata.nextLink": "https://graph.microsoft.com/v1.0/users('{userId}')/onlineMeetings/getAllRecordings?$filter=MeetingOrganizer%2fUser%2fId+eq+%27{userId}%27&$skiptoken=MSMjMCMjTkNaYVNIQjVVbXRPYWxaV1dscGFWVGg1V2pOb1IxUXpRWGxrUm1oTFVrWmtTV1ZyYkhwUlZVWm9UMWR3VEdWWGRFTlJWVVpDVVZFOVBRPT0%3d", "value": [ { "@odata.type": "#microsoft.graph.meetingRecording", "id": "6263af16-b660-41d0-a17b-83fbd15a39c7", "meetingId": "MSoxMjczYTAxNi0yMDFkRLTmOTUtODA5My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19aR1F3WTJZNE9XTXROekppWlMwME1XWTRMVGc0TWpBdE1BBXdOV1kzWlRsak9UTXlAdGhyZWFkLnYy", "meetingOrganizerId": "{userId}", "createdDateTime": "2022-08-03T20:43:36.2573447Z", "recordingContentUrl": "https://graph.microsoft.com/v1.0/users/{userId}/onlineMeetings/MSoxMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19aR1F3WTJZNE9XTXROekppWlMwME1XWTRMVGc0TWpBdE1ERXdOV1kzWlRsak9UTXlAdGhyZWFkLnYy/recordings/MSMjMCMjMGFjNmUwZTgtYmZjYy00NDQxLTk2MGYtZjllNjVhNjI0NzBh/content" }, { "@odata.type": "#microsoft.graph.meetingRecording", "id": "{recordingId}", "meetingId": "{meetingId}", "meetingOrganizerId": "{userId}", "createdDateTime": "2022-08-03T20:44:11.2635254Z", "recordingContentUrl": " https://graph.microsoft.com/v1.0/users/{userId}/onlineMeetings/{meetingId}/recordings/{recordingId}/content" }, ] }
Где:
<id>
представляет одну запись.<meetingId>
представляет идентификатор собрания или вызова.<meetingOrganizer/user/id>
представляет организатора собрания.<createdDateTime>
указывает время начала собрания.<recordingContentUrl>
значение указывает URL-адрес содержимого записи.Записи имеют формат MP4.
Средний размер самого содержимого записи составляет около 350 МБ на диске, исходя из средних значений, которые мы видим для собраний, которые находятся в диапазоне от 30 минут до 60 минут.
Результаты не гарантированы для сортировки по
createdDateTime
. Однако при наличии нескольких записей для одного собрания они имеют одно и то жеmeetingId
значение. Кроме того, записи для нескольких записей правильно упорядочены для соответствующего собрания.Результаты гарантированно будут присутствовать только после того, как будут доступны связанные записи собрания. Иными словами, вызывающей стороны не требуется никакого другого опроса на наличие.
Разбиение на страницы по результатам поддерживается в текущих шаблонах в API экспорта Teams. Разбиение на страницы поддерживается наличием
@oData.nextLink
свойства в ответе. Свойство nextLink содержитskipToken
значение, как показано в следующей таблице.skipToken
Если нет, это означает, что в текущем пакете больше нет результатов для получения:Запрос Response (Ответ) @nextLink Комментарии /getAllRecordings
Количество: 10 ?skipToken=ABC
Первоначальный запрос без skipToken
/getAllRecordings?skipToken=ABC
Количество: 10 ?skipToken=DEF
SkipToken
возвращено, запрос на получение следующей страницы/getAllRecordings?skipToken=DEF
Количество: 7 Нет skipToken
, нет дополнительных данных$top
параметр также поддерживается в рамках текущих шаблонов в API экспорта Teams.DeltaToken
для включения сценариев отслеживания изменений и синхронизации поддерживается. Общие сведения и примеры существующих разностных запросов см. в статье Использование разностного запроса для отслеживания изменений в данных Microsoft Graph.Следующий API можно использовать для получения фактического содержимого записи выбранного
userId
,meetingId
иrecordingId
, полученного в ответе API GETgetAllRecordings
. Он возвращает содержимое записи:
GET users('{userId}')/onlineMeetings('{meetingId}')/recordings('{recordingId}')/content
В следующем примере представлен ресурс расшифровки в формате JSON:
Пространство имен: microsoft.graph
{ "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(callTranscript)", "@odata.count": 2, "@odata.nextLink": "https://graph.microsoft.com/v1.0/users('{userId}')/onlineMeetings/getAllTranscripts?$filter=MeetingOrganizer%2fUser%2fId+eq+%27{userId}%27&$skiptoken=MSMjMCMjTkNaYVNIQjVVbXRPYWxaV1dscGFWVGg1V2pOb1IxUXpRWGxrUm1oTFVrWmtTV1ZyYkhwUlZVWm9UMWR3VEdWWGRFTlJWVVpDVVZFOVBRPT0%3d", "value": [ { "@odata.type": "#microsoft.graph.callTranscript", "id": "MSMjMCMjMGFjNmUwZTgtYmZjYy00NDQxLTk2MGYtZjllNjVhNjI0NzBh", "meetingId": "MSoxMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19aR1F3WTJZNE9XTXROekppWlMwME1XWTRMVGc0TWpBdE1ERXdOV1kzWlRsak9UTXlAdGhyZWFkLnYy", "meetingOrganizerId": "{userId}", "transcriptContentUrl": "https://graph.microsoft.com/v1.0/users/{userId}/onlineMeetings/MSoxMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19aR1F3WTJZNE9XTXROekppWlMwME1XWTRMVGc0TWpBdE1ERXdOV1kzWlRsak9UTXlAdGhyZWFkLnYy/transcripts/MSMjMCMjMGFjNmUwZTgtYmZjYy00NDQxLTk2MGYtZjllNjVhNjI0NzBh/content", "createdDateTime": "2022-08-03T20:43:36.6248355Z" }, { "@odata.type": "#microsoft.graph.callTranscript", "id": "{transcriptId}", "meetingId": "{meetingId}", "meetingOrganizerId": "{userId}", "transcriptContentUrl": "https://graph.microsoft.com/v1.0/users/{userId}/onlineMeetings/{meetingId}/transcripts/{transcriptId}/content", }, ] }
Где:
<id>
представляет одну запись.<meetingId>
представляет идентификатор собрания или вызова.<meetingOrganizer/user/id>
представляет организатора собрания.<createdDateTime>
указывает время начала собрания.<transcriptContentUrl>
значение указывает URL-адрес содержимого расшифровки.Содержимое расшифровки по умолчанию имеет формат VTT. Но с помощью значения заголовка
application/vnd.openxmlformats-officedocument.wordprocessingml.document
Accept можно также получить формат DOCX.Средний размер самого содержимого расшифровки в формате JSON/VTT составляет около 300 КБ на основе средних значений, которые мы видим для собраний, которые находятся в диапазоне от 30 до 60 минут.
Результаты не гарантированы для сортировки по
createdDateTime
. Однако при наличии нескольких записей для одного собрания они имеют одно и то жеmeetingId
значение. Кроме того, записи для нескольких записей правильно упорядочены для соответствующего собрания.Результаты гарантированно будут присутствовать только после того, как будут доступны связанные записи собрания. Иными словами, вызывающей стороны не требуется никакого другого опроса на наличие.
Разбиение на страницы по результатам поддерживается в текущих шаблонах в API экспорта Teams. Разбиение на страницы поддерживается наличием
@oData.nextLink
свойства в ответе. СвойствоnextLink
содержитskipToken
значение, как показано в следующей таблице.skipToken
Если нет, это означает, что в текущем пакете больше нет результатов для получения:Запрос Response (Ответ) @nextLink Комментарии /getAllTranscripts
Количество: 10 ?skipToken=ABC
Первоначальный запрос без skipToken
/getAllTranscripts?skipToken=ABC
Количество: 10 ?skipToken=DEF
SkipToken
возвращено, запрос на получение следующей страницы/getAllTranscripts?skipToken=DEF
Количество: 7 Нет skipToken
, нет дополнительных данных$top
параметр также поддерживается в рамках текущих шаблонов в API экспорта Teams.DeltaToken
для включения сценариев отслеживания изменений и синхронизации поддерживается. Общие сведения и примеры существующих разностных запросов см. в статье Использование разностного запроса для отслеживания изменений в данных Microsoft Graph.Следующий API можно использовать для получения фактического содержимого расшифровки выбранных userId, meetingId и transcriptId, полученных в ответе API GET getAllTranscripts. Он возвращает содержимое записи.
GET users('{userId}')/onlineMeetings('{meetingId}')/transcripts('{transcriptId}')/content
Дополнительные сведения см. в разделе Использование API Graph для получения расшифровки.
Экспорт фильтров API
API экспорта, размещенный в службе Teams Graph, получает все сообщения пользователей из почтового ящика пользователя Substrate с помощью users/{userId}/chats/getAllMessages
. API экспорта извлекает отправленные и полученные сообщения для пользователя, что приводит к экспорту повторяющихся сообщений при вызове API для всех пользователей в потоке чата.
API экспорта содержит параметры фильтра, которые помогают оптимизировать сообщения, возвращаемые для потока чата. API GET поддерживает новые параметры фильтра, которые позволяют извлекать сообщения на основе отправленных пользователей, ботов, приложений и системных сообщений о событиях. Параметр фильтра поддерживает сообщения, отправленные:
users (несколько идентификаторов пользователей, поддерживаемых в одном запросе).
приложения (боты, соединители и т. д.).
Все userIdentityTypes, кроме emailUser и unknownFutureValue.
системные сообщения о событиях (управляющие сообщения).
Эти параметры являются частью запроса $filter
. Если в запросе нет ни одного из этих параметров, возвращаются сообщения от всех пользователей, присутствующих в указанных пользовательских чатах.
Ниже приведены поддерживаемые сценарии фильтрации.
$filter=from/application/applicationIdentityType eq '<appType>' (bots/tenantBots/connectors, etc.)
$filter=from/user/id eq '<oid>' (any number of id filters)
$filter=from/user/userIdentityType eq '<userIdentityType>'
$filter=from/application/applicationIdentityType eq '<appType>' or from/user/id eq '<oid>' (sent by app or userid)
$filter=from/application/applicationIdentityType eq '<appType>' or from/user/userIdentityType eq 'anonymousGuest' (sent by app or anonymous)
$filter=from/application/applicationIdentityType eq '<appType>' or from/user/userIdentityType eq 'federatedUser' (sent by app or federated)
$filter=from/application/applicationIdentityType eq '<appType>' or from/user/userIdentityType eq 'anonymousGuest' or from/user/userIdentityType eq 'federatedUser' (sent by app, anonymous or federated)
$filter=from/user/id eq '<oid>' or from/user/userIdentityType eq 'anonymousGuest' (sent by any number of userid or anonymous)
$filter=from/user/id eq '<oid>' or from/user/userIdentityType eq 'federatedUser' (sent by any number of userid or federated)
$filter=from/application/applicationIdentityType eq '<appType>' or from/user/id eq '<oid>' or from/user/userIdentityType eq 'anonymousGuest' or from/user/userIdentityType eq 'federatedUser' (sent by any number of userid or federated or anonymous)
$filter=from/application/applicationIdentityType eq '<appType>' or from/user/id eq '<oid>' or from/user/userIdentityType eq 'anonymousGuest' or from/user/userIdentityType eq 'federatedUser' (sent by any number of userid or federated or anonymous) or messsageType eq 'systemEventMessage'
(<any of the previous filters>) and (lastModifiedDateTime+gt+<date>+and+lastModifiedDateTime+lt+<date>)
Запрос возвращает сообщения, отправленные указанным пользователем, если
from/user/id eq ‘{oid}’
он присутствует.Запрос возвращает сообщения, отправленные федеративных пользователей, которые являются частью пользовательских чатов, если
from/user/userIdentityType eq ‘federatedUser’
они присутствуют.запрос возвращает сообщения, отправленные указанным типом приложения, если
from/application/applicationIdenitytyType eq '{appType}'
он присутствует.запрос возвращает сообщения, отправленные системой, если
messageType eq 'systemEventMessage'
он присутствует.
Эти параметры можно объединить с помощью операторов OR или путем объединения с параметром lastModifiedDateTime
$filter
.
API экспорта Teams для сохраненных сообщений
Если клиент настроен с политикой хранения Teams, API экспорта поддерживает запись сообщений из папки удержания для отдельных & группового чата, а также публикации, комментарии в общедоступных & общих каналах.
Как получить доступ к API сохраненных сообщений
- В примере 1 показан простой запрос для получения всех сохраненных сообщений пользователя:
GET https://graph.microsoft.com/v1.0/users/8b081ef6-4792-4def-b2c9-c363a1bf41d5/chats/getAllRetainedMessages
- В примере 2 показан простой запрос для получения всех сохраненных сообщений команды:
GET https://graph.microsoft.com/v1.0/teams/8b081ef6-4792-4def-b2c9-c363a1bf41d5/channels/getAllRetainedMessages
Поддерживаемые API getAllRetainedMessages
- Сообщение обратимо удаляется пользователем в чате или канале Если пользователь находится на удержании, после 21 дня удаления сообщение можно экспортировать через API.
- Сообщение обратимо удаляется пользователем в чате или канале Если задана действительная политика хранения, то после 21 дня удаления сообщение можно экспортировать через API.
- Сообщение редактируется пользователем в чате или канале Если задана допустимая политика хранения, можно экспортировать предыдущие измененные версии сообщения.
Примечание.
API /getAllRetainedMessages позволяет получать удаленные сообщения канала не более 30 дней с момента удаления. Через 30 дней команды и каналы будут удалены, а сообщения не могут быть извлечены.
Взаимодействие Microsoft 365 Copilot
Узнайте больше о aiInteractionHistory: getAllEnterpriseInteractions , который позволяет экспортировать взаимодействия copilot.