Экспорт контента с помощью API экспорта Microsoft TeamsExport content with the Microsoft Teams Export APIs

API экспорта в Teams позволяют экспортировать сообщения из Microsoft Teams в 1:1 и группового чата.Teams Export APIs allow you to export 1:1 and group chat messages from Microsoft Teams. Если в вашей организации необходимо экспортировать сообщения Microsoft Teams, вы можете извлечь их с помощью API экспорта в Teams.If your organization needs to export Microsoft Teams messages, you are able to extract them using Teams Export APIs. Сообщение чата обозначает отдельное сообщение чата в канале или чате.Chat Message represents an individual chat message within a channel or chat. Сообщение чата может представлять собой корневое сообщение чата или часть ответа, определяемое свойством replyToId в сообщении чата.The chat message can be a root chat message or part of a reply thread that is defined by the replyToId property in the chat message.

Вот несколько примеров того, как можно использовать следующие API экспорта:Here are some examples on how you can use these export APIs:

  • Пример 1: Если вы включили Microsoft Teams в вашей организации и хотите по-своему экспортировать все сообщения Microsoft Teams на дату, передав диапазон дат для определенного пользователя.Example 1: If you have enabled Microsoft Teams in your organization and want to export all the Microsoft Teams messages to date programmatically by passing the date range for a given user.
  • Пример 2: Если вы хотите программным образом экспортировать все пользовательские сообщения, указав диапазон дат.Example 2: If you want to programmatically export all user messages daily by providing a date range. API экспорта могут получать все сообщения, созданные или обновленные в указанном диапазоне дат.Export APIs can retrieve all the messages created or updated during the given date range.

Что поддерживает API экспорта для групп?What is supported by the Teams Export APIs?

  • Массовый экспорт сообщений teams: API экспорта в Teams поддерживают до 200 RPS на приложение на одного клиента и 600 RPS для приложения, с этими ограничениями вы сможете массово экспортировать сообщения Teams.Bulk Export of Teams Message: Teams Export APIs support up to 200 RPS Per App Per tenant and 600 RPS for an Application, with these limits you should be able to bulk export of Teams messages.

  • Контекст приложения: чтобы вызвать Microsoft Graph, ваше приложение должно получить маркер доступа от платформы удостоверений Майкрософт.Application Context: To call Microsoft Graph, your app must acquire an access token from the Microsoft identity platform. Маркер доступа содержит сведения о приложении и разрешения, предоставленные им для ресурсов и API, доступных через Microsoft Graph.The access token contains information about your app and the permissions it has for the resources and APIs available through Microsoft Graph. Чтобы получить маркер доступа, ваше приложение должно быть зарегистрировано на платформе удостоверений Майкрософт и авторизовано пользователем или администратором для доступа к ресурсам Microsoft Graph, которые ему необходимы.To get an access token, your app must be registered with the Microsoft identity platform and be authorized by either a user or an administrator for access to the Microsoft Graph resources it needs.

    Если вы уже знакомы с интеграцией приложения с платформой удостоверений Microsoft для получения маркеров, ознакомьтесь с разделом дальнейшие действия , чтобы получить сведения и примеры, специфичные для Microsoft Graph.If you are already familiar with integrating an app with the Microsoft identity platform to get tokens, see the Next Steps section for information and samples specific to Microsoft Graph.

  • Гибридная среда: API экспорта поддерживают сообщения, отправляемые пользователями, которые настроены в гибридной среде (локальное Exchange и Teams).Hybrid Environment: Export APIs support messages sent by users who are provisioned on Hybrid Environment (on-premises Exchange and Teams). Все сообщения, отправляемые пользователями, которые настроены для гибридной среды, будут доступны с помощью API экспорта.Any messages that are sent by users who are configured for hybrid environment will be accessible using Export APIs.

  • Сообщение удалено пользователем: Доступ к сообщениям, которые удаляются пользователем из клиента Teams, можно получить, используя API экспорта в течение 30 дней с момента удаления.User Deleted Messages: Messages that are deleted by user from Teams client can be accessed using export APIs up to 30 days from the time of deletion.

  • Вложения в сообщения: API экспорта включают ссылки на вложения, которые отправляются как часть сообщений.Message Attachments: Export APIs include the links to the attachments that are sent as part of messages. Использование API экспорта. Вы можете получать файлы, вложенные в сообщения.Using Export APIs you can retrieve the files attached in the messages.

  • Свойства сообщения чата: Ниже приведен полный список свойств, которые поддерживаются в этойгруппе для экспорта API.Chat Message Properties: Refer to the complete list of properties that Teams Export APIs support here.

Доступ к экспортным API-интерфейсам TeamsHow to access Teams Export APIs

  • Например, 1 — простой запрос для извлечения всех сообщений пользователя без фильтров.Example 1 is a simple query to retrieve all the messages of a user without any filters:

    GET https://graph.microsoft.com/beta/users/{id}/chats/allMessages
    
  • Пример 2 — это образец запроса, который позволяет получить все сообщения пользователя, указав фильтры по дате и времени (первые 50 сообщения).Example 2 is a sample query to retrieve all the messages of a user by specifying date time filters and top 50 messages:

    GET https://graph.microsoft.com/beta/users/{id}/chats/allMessages?$top=50&$filter=lastModifiedDateTime gt 2020-06-04T18:03:11.591Z and lastModifiedDateTime lt 2020-06-05T21:00:09.413Z
    

Примечание

API возвращает ответ со следующей ссылкой на страницу в случае с несколькими результатами.The API returns response with next page link in case of multiple results. Чтобы получить следующий набор результатов, просто вызовите GET на URL-адресе из @odata. nextlink.For getting next set of results, simply call GET on the url from @odata.nextlink. Если @odata. NEXTLINK отсутствует или null, все сообщения извлекаются.If @odata.nextlink is not present or null then all messages are retrieved.

Необходимые условия для доступа к API экспорта в TeamsPrerequisites to access Teams Export APIs

  • API экспорта в Teams в настоящее время находятся в предварительной версии.Teams Export APIs are currently in preview. Он будет доступен только для пользователей и клиентов, у которых есть необходимые лицензии для API-интерфейсов.It will only be available to users and tenants that have the required licenses for APIs. В будущем корпорация Майкрософт может потребовать от вас или ваших клиентов платить дополнительные тарифы на основе объема данных, доступ к которому осуществляется через API-интерфейс.In the future, Microsoft may require you or your customers to pay additional fees based on the amount of data accessed through the API.

  • API Microsoft Teams в Microsoft Graph, исдоступность конфиденциальных данных, рассматриваются как защищенные API.Microsoft Teams APIs in Microsoft Graph that access sensitive data are considered protected APIs. Для экспорта API-интерфейсов требуется дополнительная проверка, помимо разрешений и согласия, прежде чем можно будет использовать их.Export APIs require that you have additional validation, beyond permissions and consent, before you can use them. Чтобы запросить доступ к этим защищенным API, заполните форму запроса.To request access to these protected APIs, complete the request form.

  • Разрешения на доступ к приложениям используются приложениями, которые выполняются без вошедшего пользователя. разрешения на доступ к приложению могут только пропослать администратору.Application permissions are used by apps that run without a signed-in user present; application permissions can only be consented by an administrator. Необходимы следующие разрешения:The following permissions are needed:

    • Чат. Read. ALL: позволяет получить доступ ко всем сообщениям 1:1 и группового чата.Chat.Read.All: enables access to all 1:1 and Group chat messages
    • User. Read. ALL: позволяет получить доступ к списку пользователей для клиента.User.Read.All: enables access to the list of users for a tenant

Представление JSONJSON representation

Ниже приведен пример представления ресурса в формате JSON.The following example is a JSON representation of the resource:

Пространство имен: Microsoft. GraphNamespace: 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": "0de69e5e-2da8-4cf2-821f-5e6585b2c65b",
                    "displayName": "User Name",
                    "userIdentityType": "aadUser"                }
            },
"body": {"@odata.type": "microsoft.graph.itemBody"},
"summary": "string",
"chatId": "19:0de69e5e-2da8-4cf2-821f-5e6585b2c65b_5c64e248-3269-4268-a36e-0f80314e9c39@unq.gbl.spaces"
"attachments": \[{"@odata.type": "microsoft.graph.chatMessageAttachment"}\],
"mentions": \[{"@odata.type": "microsoft.graph.chatMessageMention"}\],
"importance": "string",
"locale": "string",
}

Примечание

Более подробную информацию о ресурсе chatMessage можно найти в статье тип ресурсов chatMessage .For more details on chatMessage resource, see the chatMessage resource type article.