Импорт сообщений в чаты и каналы Microsoft Teams с помощью Microsoft Graph

В этой статье описывается, как импортировать сообщения в существующий чат или канал Microsoft Teams во время сеанса миграции с помощью Microsoft Graph. Импорт сообщений предназначен для сценариев миграции и требует, чтобы целевой чат или канал был переведен в режим миграции , прежде чем можно будет импортировать содержимое.

Когда следует использовать импорт сообщений

Используйте функцию импорта сообщений, когда вам нужно:

  • Перенос исторических сообщений в существующий чат или канал Teams.
  • Сохраните исходное авторство (от которого находится сообщение).
  • При необходимости сохраните (или задайте) метку времени для каждого сообщения.

Требования

Чтобы использовать API обмена сообщениями Teams для импорта сообщений, необходимо выполнить следующие условия:

  • Контекст только приложения (приложение). Запрос должен выполняться с помощью разрешений приложения.
  • Обязательное разрешение: вызывающему приложению Teamwork.Migrate.All должно быть предоставлено разрешение.
  • Для целевого объекта должен быть включен режим миграции:
    • Чтобы включить режим миграции на канале, вызовите channel: startMigration.
    • Чтобы включить режим миграции в чате, позвоните в чат: startMigration.
  • Авторская атрибутивная атрибута обязательна: задайте свойство from , чтобы атрибутировать импортированное сообщение пользователю, который принадлежит тому же клиенту, что и приложение, прошедшее проверку подлинности.
  • Необязательные правила меток времени (если указать createdDateTime): можно задать настраиваемую метку времени для импортированного сообщения, но она должна соответствовать следующим ограничениям:
    • Значение должно быть позжезначения createdDateTime целевого чата или канала.
    • Значение не должно быть в будущем.
    • Значение должно быть уникальным вплоть до миллисекунда в целевом чате или канале. Если существует сообщение с тем же createdDateTime , запрос завершается ошибкой с 409 Conflictпараметром ; измените значение и повторите попытку.

Примечание.

  • Только приложение, вызывающее startMigration в целевом канале или startMigration в целевом чате, может импортировать в него сообщения. Ни одно другое приложение не может запросить этот API в канале или чате, пока владеющее приложение не завершит миграцию, вызвав канал completeMigration или chat: completeMigration.
  • Некоторые импортированные сообщения могут не отображаться в клиенте Teams, пока миграция не будет завершена путем вызова completeMigration в целевом канале или completeMigration в целевом чате .

Устранение неполадок

409 Конфликт при импорте сообщения

Значение createdDateTime должно быть уникальным вплоть до миллисекунда в целевом чате или канале. Если существует сообщение с тем же createdDateTime , запрос завершается ошибкой с 409 Conflict. Настройте createdDateTime и повторите запрос.