Microsoft Graph を使用してMicrosoft Teamsチャットとチャネルにメッセージをインポートする

この記事では、Microsoft Graph を使用して、移行セッション中に既存のMicrosoft Teams チャットまたはチャネルにメッセージをインポートする方法について説明します。 メッセージのインポートは移行シナリオを対象としており、コンテンツをインポートする前にターゲット チャットまたはチャネルを 移行モード にする必要があります。

メッセージインポートを使用するタイミング

次の必要がある場合は、メッセージのインポートを使用します。

  • 履歴メッセージを既存の Teams チャットまたはチャネルに移行します。
  • 元の作成者属性 (メッセージの発信元) を保持します。
  • 必要に応じて、各メッセージの履歴タイムスタンプを保持 (または設定) します。

要件

Teams メッセージング API を使用してメッセージをインポートするには、次の条件を満たす必要があります。

  • アプリ専用 (アプリケーション) コンテキスト: 要求はアプリケーションのアクセス許可を使用して行う必要があります。
  • 必要なアクセス許可: 呼び出し元のアプリには、 Teamwork.Migrate.All アプリケーションのアクセス許可が付与されている必要があります。
  • 移行モードは、ターゲットで有効にする必要があります。
  • 作成者属性が必要です: from プロパティを設定して、インポートされたメッセージを認証されたアプリケーションと同じテナントに属するユーザーに属性を設定します。
  • オプションのタイムスタンプ 規則 ( createdDateTime を指定した場合): インポートされたメッセージのカスタム タイムスタンプを設定できますが、次の制約を満たす必要があります。
    • 値は、ターゲット チャットまたはチャネルの createdDateTimeより後である必要があります。
    • この値は将来に指定 しないでください
    • 値は、ターゲット チャットまたはチャネル内 のミリ秒まで一意 である必要があります。 同じ createdDateTime を持つメッセージが存在する場合、要求は 409 Conflictで失敗し、値を調整して再試行します。

注:

  • メッセージをインポートできるのは、ターゲット チャネルで startMigration を呼び出したアプリケーション、またはターゲット チャットの startMigration を呼び出したアプリケーションだけです。 チャネル completeMigration または chat : completeMigration を呼び出して、所有するアプリケーションが移行を完了するまで、チャネルまたはチャットでこの API を要求することはできません。
  • インポートされたメッセージの中には、ターゲット チャネルで completeMigration を呼び出すか、ターゲット チャットで completeMigration を呼び出して移行が完了するまで、Teams クライアントに表示されない場合があります。

トラブルシューティング

409 メッセージをインポートするときの競合

createdDateTime は、ターゲット チャットまたはチャネル内でミリ秒まで一意である必要があります。 同じ createdDateTime を持つメッセージが存在する場合、要求は 409 Conflictで失敗します。 createdDateTime を調整し、要求を再試行します。