次の方法で共有


Microsoft Teamsエクスポート API を使用してコンテンツをエクスポートする

Teams Export API を使用すると、1:1、グループ チャット、会議チャット、チャネル メッセージをMicrosoft Teamsからエクスポートできます。 organization Microsoft Teamsメッセージをエクスポートする必要がある場合は、Teams エクスポート API を使用して抽出できます。 チャット メッセージ は、 チャネル またはチャット内の個々のチャット メッセージを表 します。 チャット メッセージには、ルート チャット メッセージ、またはチャット メッセージの replyToId プロパティによって定義された応答スレッドの一部を指定できます。

これらのエクスポート API を使用する方法の例を次に示します。

  • 例 1: organizationでMicrosoft Teamsを有効にし、特定のユーザーまたはチームの日付範囲を渡すことによって、すべてのMicrosoft Teamsメッセージをプログラムで日付にエクスポートする場合。

  • 例 2: 日付範囲を指定して、プログラムによってすべてのユーザーまたはチーム メッセージを毎日エクスポートする場合。 エクスポート API は、指定された日付範囲で作成または更新されたすべてのメッセージを取得できます。

  • 例 3: 特定の会議開催者の Teams 会議記録へのリンクをプログラムでエクスポートし、実際の記録をダウンロードする場合。

  • 例 4: 特定の会議開催者の Teams 会議トランスクリプトへのリンクをプログラムでエクスポートし、実際のトランスクリプトをダウンロードする場合。

Teams エクスポート API でサポートされる内容

  • Teams メッセージの一括エクスポート: Teams エクスポート API では、テナントごとにアプリあたり最大 200 RPS、アプリケーションに対して 600 RPS がサポートされます。これらの制限により、Teams メッセージを一括エクスポートできます。

  • アプリケーション コンテキスト: Microsoft Graph を呼び出すには、アプリがMicrosoft ID プラットフォームからアクセス トークンを取得する必要があります。 アクセス トークンには、アプリに関する情報と、Microsoft Graph で使用できるリソースと API に対するアクセス許可が含まれています。 アクセス トークンを取得するには、アプリをMicrosoft ID プラットフォームに登録し、必要な Microsoft Graph リソースへのアクセスをユーザーまたは管理者が承認する必要があります。

    トークンを取得するためのMicrosoft ID プラットフォームとアプリの統合に既に慣れている場合は、Microsoft Graph に固有の情報とサンプルについては、「次の手順」セクションを参照してください。

  • ハイブリッド環境: エクスポート API は、ハイブリッド環境 (オンプレミスの Exchange と Teams) でプロビジョニングされたユーザーによって送信されるメッセージをサポートします。 ハイブリッド環境用に構成されているユーザーによって送信されるすべてのメッセージには、エクスポート API を使用してアクセスできます。

  • ユーザーが削除したメッセージ: Teams クライアントからユーザーが削除したメッセージには、削除時から最大 21 日間のエクスポート API を使用してアクセスできます。

  • メッセージ添付ファイル: エクスポート API には、メッセージの一部として送信される添付ファイルへのリンクが含まれます。 エクスポート API を使用すると、メッセージに添付されたファイルを取得できます。

  • 反応: エクスポート API は、Teams メッセージでユーザーが開始したリアクションをサポートします。 現在サポートされている反応は、心、怒り、悲しい、驚いた、笑いです。 Export API では、リアクションに加えて、メッセージに対するリアクションに加えられた変更や更新を含む、リアクション編集履歴もサポートされています。

  • 共有チャネル メッセージ: エクスポート API では、共有チャネルからのメッセージのキャプチャがサポートされています。

  • 削除された Teams: Export API では、 削除された Teams からのメッセージのキャプチャ と、削除された標準チャネル、プライベート チャネル、共有チャネルのキャプチャがサポートされています。

  • 削除されたユーザー: Export API では、削除されたユーザーのメッセージのキャプチャが、ユーザーが削除された時点から最大 30 日間サポートされます。 削除されたユーザーの一覧を見つけるには、「 削除済みアイテム」を参照してください。

  • チャット メッセージのプロパティ:Teams Export API でサポートされているプロパティの完全な一覧を参照してください。

  • メッセージの制御: Export API では、ユーザーが生成したメッセージに加えて、制御メッセージのキャプチャがサポートされています。 コントロール メッセージは、Teams クライアントに表示され、タイムスタンプと共に "ユーザー A がチャットにユーザー B を追加し、すべてのチャット履歴を共有しました" などの重要な情報を保持するシステム生成メッセージです。 システム メッセージを使用すると、呼び出し元は、チーム、チャネル、またはチャットで発生したイベントに関する分析情報を得ることができます。 Export API で現在サポートされている コントロール メッセージの一覧 を参照してください。

注意

会議関連のコントロール メッセージは現在、Export API ではサポートされていません。

Teams エクスポート API にアクセスする方法

  • 例 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 は、複数の結果が発生した場合に次のページ リンクを含む応答を返します。 次の結果セットを取得するには、 @odata.nextlinkから URL で GET を呼び出します。 @odata.nextlinkが存在しない場合、または null の場合は、すべてのメッセージが取得されます。

注意

応答内のメッセージの順序は、createdDateTime や lastModifiedDateTime などの datetime で並べ替えられる保証はありません。

Teams エクスポート API にアクセスするための前提条件

  • 機密データにアクセスする Microsoft Graph のMicrosoft Teams API は、保護された API と見なされます。 ユーザーなしでアクセスするための要件が満たされている限り、これらの API を呼び出すことができます。

  • アプリケーションのアクセス許可は、サインインしているユーザーが存在せずに実行されるアプリによって使用されます。アプリケーションのアクセス許可は、管理者のみが承認できます。 次のアクセス許可が必要です。

    • Chat.Read.All: 1:1、グループ チャット、会議チャット メッセージすべてにアクセスできます

    • ChannelMessage.Read.All: すべてのチャネル メッセージへのアクセスを有効にします

    • User.Read.All: テナントのユーザーの一覧へのアクセスを有効にします

    • OnlineMeetingTranscript.Read.All: スケジュールされたすべての 1:n Teams 会議のトランスクリプトにアクセスできます

    • OnlineMeetingRecording.Read.All: スケジュールされたすべての 1:n Teams 会議の記録にアクセスできます

Teams エクスポート API のライセンス要件

Export API では、モデル クエリ パラメーターを使用してセキュリティとコンプライアンス (S + C) と一般的な使用シナリオがサポートされます。 S+C シナリオ (モデル A) にはシード容量が含まれており、E5 サブスクリプションが必要であり、一般的な使用シナリオ (モデル B) はすべてのサブスクリプションで使用でき、従量課金のみです。 シードされた容量と消費料金の詳細については、「 Microsoft Graph Teams API のライセンスと支払いの要件」を参照してください。

ベータ API の場合、現在、モデル A またはモデル B のライセンスや使用の適用はありません。 ただし、これは将来変更される可能性があります。

S+C/モデル A のシナリオ

セキュリティ機能やコンプライアンス機能を実行するアプリケーションに制限され、ユーザーはこの機能を使用し、シード容量を受け取るために特定の E5 ライセンスを持っている必要があります。 シード容量はユーザーごとであり、月ごとに計算され、テナント レベルで集計されます。 シードされた容量を超えて使用する場合、アプリ所有者は API の使用に対して課金されます。 モデル A は、割り当てられた E5 ライセンスを持つユーザーからのメッセージにのみアクセスできます。

パートナー名 パートナー ソリューション
logo-of-smarsh Microsoft Teamsアーカイブとコンプライアンス
Proofpoint のロゴのスクリーンショット。 Microsoft Teamsの Proofpoint コンテンツ キャプチャ

一般的な使用法/モデル B のシナリオ

S+C 以外のすべての関連シナリオで使用できます。ライセンス要件やシード容量はありません。 従量課金メーターが利用可能になると、アプリ所有者は毎月のすべての API 呼び出しに対して課金されます。

以下のパートナーが認定を受けています。 企業は、企業内でこれらのパートナーのいずれかと組み合わせて使用することを選択できます。

パートナー名 パートナー ソリューション
logo-of-rubrik バックアップと回復のMicrosoft Teams
logo-of-veeam バックアップと回復のMicrosoft Teams

次の手順

認定プログラムに参加しようとしているベンダーの場合は、次の手順として このフォーム に入力します。 より多くのコンテキストと詳細を提供する必要がある場合は、MS Teamsエコシステム チーム (TeamsCategoryPartner@microsoft.com) にメールしてください。

評価モード (既定値)

モデル宣言を使用しない場合、評価目的で要求する各アプリケーションごとに使用量が制限された API にアクセスできます。

JSON 表現

  1. 次の例は、チャット リソースの 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 リソースの種類 に関する記事を参照してください。

  2. 次の例は、記録リソースの 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> は 1 つの記録を表します。

    • <meetingId> は、会議または通話識別子を表します。

    • <meetingOrganizer/user/id> は、会議の開催者を表します。

    • <createdDateTime> は、会議の開始時刻を示します。

    • <recordingContentUrl> value は、記録コンテンツへの URL を示します。

    • 録音は MP4 形式です。

    • 記録コンテンツ自体の平均サイズは、30 分から 60 分の範囲にある会議の平均に基づいて、ディスク上で約 350 MB です。

    • 結果は、 createdDateTimeで並べ替えられる保証はありません。 ただし、1 回の会議に複数の録音が存在する場合は、同じ meetingId 値を共有します。 さらに、複数の記録のエントリは、問題の会議に対して正しくシーケンスされます。

    • 結果は、関連付けられている会議の記録が使用可能な後にのみ存在することが保証されます。 つまり、呼び出し元が可用性の追加ポーリングを行う必要はありません。

    • 結果によるページ分割は、Teams Export API の現在のパターンに従ってサポートされます。 改ページは、応答に @oData.nextLink プロパティが存在する場合にサポートされます。 nextLink プロパティには、次に示すように、 skipToken 値が含まれています。 skipTokenが存在しない場合は、現在のバッチで取得する結果がそれ以上ないことを意味します。

      要求 応答 @nextLink 注釈
      /getAllRecordings カウント: 10 ?skipToken=ABC 最初の要求なし skipToken
      /getAllRecordings?skipToken=ABC カウント: 10 ?skipToken=DEF SkipToken 返された、次のページを取得するように要求する
      /getAllRecordings?skipToken=DEF カウント: 7 skipTokenなし、使用できるデータはそれ以上ありません
    • $top パラメーターは、Teams Export API の現在のパターンに従ってサポートされます。

    • DeltaToken 変更の追跡と同期のシナリオを有効にする方法がサポートされています。 既存のデルタ クエリの概要と例については、「デルタ クエリを使用して Microsoft Graph データの変更を追跡する」を参照してください。

    • 次の API を使用すると、GET getAllRecordings API の応答で取得された、選択したuserIdmeetingIdrecordingIdの実際の記録コンテンツを取得できます。 記録の内容を返します。

    GET users('{userId}')/onlineMeetings('{meetingId}')/recordings('{recordingId}')/content 
    
  3. 次の例は、トランスクリプト リソースの 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> は 1 つの記録を表します。

    • <meetingId> は、会議または通話識別子を表します。

    • <meetingOrganizer/user/id> は、会議の開催者を表します。

    • <createdDateTime> は、会議の開始時刻を示します。

    • <transcriptContentUrl> value はトランスクリプト コンテンツへの URL を示します。

    • トランスクリプト コンテンツは、既定では VTT 形式になります。 ただし、 application/vnd.openxmlformats-officedocument.wordprocessingml.documentの Accept ヘッダー値を使用して、DOCX 形式を取得することもできます。

    • JSON/VTT 形式のトランスクリプト コンテンツ自体の平均サイズは、30 分から 60 分の範囲にある会議の平均に基づいて、約 300 KB です。

    • 結果は、 createdDateTimeで並べ替えられる保証はありません。 ただし、1 回の会議に複数の録音が存在する場合は、同じ meetingId 値を共有します。 さらに、複数の録音のエントリは、問題の会議に対して正しくシーケンスされます。

    • 結果は、関連付けられている会議の記録が使用可能な後にのみ存在することが保証されます。 つまり、呼び出し元が可用性の追加ポーリングを行う必要はありません。

    • 結果によるページ分割は、Teams Export API の現在のパターンに従ってサポートされます。 改ページは、応答に @oData.nextLink プロパティが存在する場合にサポートされます。 nextLink プロパティには、次に示すように、skipToken値が含まれます。 skipTokenが存在しない場合は、現在のバッチで取得する結果がそれ以上ないことを意味します。

      要求 応答 @nextLink 注釈
      /getAllTranscripts カウント: 10 ?skipToken=ABC 最初の要求なし skipToken
      /getAllTranscripts?skipToken=ABC カウント: 10 ?skipToken=DEF SkipToken 返された、次のページを取得するように要求する
      /getAllTranscripts?skipToken=DEF カウント: 7 skipTokenなし、使用できるデータはそれ以上ありません
    • $top パラメーターは、Teams Export API の現在のパターンに従ってサポートされます。

    • DeltaToken 変更の追跡と同期のシナリオを有効にする方法がサポートされています。 既存のデルタ クエリの概要と例については、「デルタ クエリを使用して Microsoft Graph データの変更を追跡する」を参照してください。

    • 次の API を使用すると、GET getAllTranscripts API の応答で取得された、選択した userId、meetingId、transcriptId の実際のトランスクリプト コンテンツを取得できます。 記録の内容を返します。

    GET users('{userId}')/onlineMeetings('{meetingId}')/transcripts('{transcriptId}')/content
    

詳細については、「 Graph API を使用してトランスクリプトをフェッチする」を参照してください。

API フィルターのエクスポート

Teams Graph Service でホストされているエクスポート API は、 users/{userId}/chats/getAllMessagesを使用して、Substrate ユーザー メールボックスからすべてのユーザー メッセージを取得します。 Export API は、チャット スレッド内のすべてのユーザーに対して API を呼び出すときに重複するメッセージをエクスポートするユーザーの送受信メッセージの両方を取得します。

Export API には、チャット スレッドに対して返されるメッセージを最適化するのに役立つフィルター パラメーターがあります。 API GET では、送信されたユーザー、ボット、アプリケーション、システム イベント メッセージに基づいてメッセージを抽出できる新しいフィルター パラメーターがサポートされています。 filter パラメーターは、次によって送信されるメッセージをサポートします。

  • users (同じ要求でサポートされている複数のユーザー ID)

  • アプリケーション (ボット、コネクタなど)

  • 匿名ユーザー

  • フェデレーション ユーザー (外部アクセス ユーザー)

  • システム イベント メッセージ (制御メッセージ)

これらのパラメーターは、要求の $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 'anonymousGuest'  
  
$filter=from/user/userIdentityType eq 'federatedUser' (guest/external)  
  
$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 パラメーターと組み合わせることによって組み合わせることができます。

Microsoft 365 Copilot操作の & Microsoft 365 Chat (プレビュー)

新しい Copilot アクティビティ エクスポート API を使用すると、Copilot へのユーザー プロンプトと Copilot 応答を含む Copilot の相互作用データをユーザーにエクスポートできます。 この API は、Teams、Word、Outlook などのMicrosoft 365 Copilot アプリ全体でユーザーの意図と Copilot がアクセスしたリソースと応答をキャプチャします。

Copilot アクティビティエクスポート API にアクセスする方法 (プレビュー)

  • 例 1 は、フィルターを使用せずにすべての copilot 操作を取得する単純なクエリです (ベータ版)。

    GET https://graph.microsoft.com/beta/copilot/users/{id}/interactionHistory/getAllEnterpriseInteractions 
    
  • 例 2 は、appclass フィルター (ベータ版) を使用してすべての copilot 操作を取得する単純なクエリです。

    GET https://graph.microsoft.com/beta/copilot/users/{id}/interactionHistory/getAllEnterpriseInteractions?$filter=appClass eq 'IPM.SkypeTeams.Message.Copilot.Teams or appClass eq 'IPM.SkypeTeams.Message.Copilot.BizChat' (beta)
    

Copilot アクティビティエクスポート API にアクセスするための前提条件 (プレビュー)

アプリケーションのアクセス許可は、サインインしているユーザーが存在せずに実行されるアプリによって使用されます。アプリケーションのアクセス許可は、管理者のみが承認できます。 次のアクセス許可が必要です。

  • AiEnterpriseInteraction.Read.All: Microsoft 365 アプリとMicrosoft 365 Chat全体のすべての copilot 操作にアクセスできます
  • 新しい Copilot アクティビティ エクスポート API にアクセスするために、Microsoft 365 Copilot ライセンスが必要です。