Exportieren Sie Inhalte mit den Export-APIs von Microsoft Teams

Mit den Teams-Export-APIs können Sie Gruppenchats, Besprechungschats und Kanalnachrichten aus Microsoft Teams exportieren. Wenn Ihre organization Microsoft Teams-Nachrichten exportieren muss, können Sie diese mithilfe von Teams-Export-APIs extrahieren. Chat-Nachricht stellt eine einzelne Chat-Nachricht innerhalb eines Kanals oder Chats dar. Die Chatnachricht kann eine Chatstammnachricht oder Teil eines Antwortthreads sein, der durch die replyToId-Eigenschaft in der Chatnachricht definiert wird.

Im Folgenden finden Sie einige Beispiele für die Verwendung dieser Export-APIs:

  • Beispiel 1: Wenn Sie Microsoft Teams in Ihrer organization aktiviert haben und alle Microsoft Teams-Nachrichten bis heute programmgesteuert exportieren möchten, indem Sie den Datumsbereich für einen bestimmten Benutzer oder ein bestimmtes Team übergeben.

  • Beispiel 2: Wenn Sie alle Benutzer- oder Teamnachrichten täglich programmgesteuert exportieren möchten, indem Sie einen Datumsbereich angeben. Export-APIs können alle Nachrichten abrufen, die während des angegebenen Datumsbereichs erstellt oder aktualisiert wurden.

  • Beispiel 3: Wenn Sie die Links zu Teams-Besprechungsaufzeichnungen für einen bestimmten Besprechungsorganisator programmgesteuert exportieren und dann die tatsächlichen Aufzeichnungen herunterladen möchten.

  • Beispiel 4: Wenn Sie die Links zu Teams-Besprechungstranskripten für einen bestimmten Besprechungsorganisator programmgesteuert exportieren und dann die tatsächlichen Transkripte herunterladen möchten.

Was wird von den Teams-Export-APIs unterstützt?

  • Massenexport der Teams-Nachricht: Weitere Informationen finden Sie unter Drosselungsgrenzwerte für Teams Export-APIs. Mit diesen Grenzwerten sollten Sie in der Lage sein, Teams-Nachrichten in großen Mengen zu exportieren.

  • Obergrenze für Teams-Nachricht: Es wird empfohlen, die TOP-Filtergrenze für Teams-Nachrichten-APIs auf 250 als maximale Grenze festzulegen, ab der die Leistung eingeschränkt wird.

    Hinweis

    Der $top Wert ist ein maximaler Hinweis und keine garantierte Seitengröße. Aufgrund der Art und Weise, wie Nachrichten aus mehreren zugrunde liegenden Outlook-Ordnern/-Postfächern abgerufen werden, kann eine Antwort weniger Elemente als angefordert zurückgeben und eine @odata.nextLink zum Fortsetzen des Abrufs aus anderen Ordnern enthalten. Dieses Verhalten ist beabsichtigt.

  • Anwendungskontext: Um Microsoft Graph aufzurufen, muss Ihre App ein Zugriffstoken von der Microsoft Identity Platform abrufen. Das Zugriffstoken enthält Informationen zu Ihrer App und den Berechtigungen, die sie für die über Microsoft Graph verfügbaren Ressourcen und APIs hat. Um ein Zugriffstoken zu erhalten, muss Ihre App bei der Microsoft Identity Platform registriert sein. Ein Benutzer oder ein Administrator muss das Gerät für den Zugriff auf die Microsoft Graph-Ressourcen autorisieren, die es benötigt. Wenn Sie bereits mit der Integration einer App in die Microsoft Identity Platform zum Abrufen von Token vertraut sind, finden Sie im Abschnitt "Nächste Schritte" spezifische Informationen und Beispiele für Microsoft Graph.

  • Hybridumgebung: Export-APIs unterstützen Nachrichten, die von Benutzern gesendet werden, die in einer Hybridumgebung (lokal, Exchange und Teams) bereitgestellt werden. Auf alle Nachrichten, die von Benutzern gesendet werden, die für eine Hybridumgebung konfiguriert sind, kann über Export-APIs zugegriffen werden.

  • Vom Benutzer gelöschte Nachrichten: Auf Nachrichten, die von Benutzern aus dem Teams-Client gelöscht wurden, kann bis zu 21 Tage nach dem Zeitpunkt des Löschens über Export-APIs zugegriffen werden.

  • Nachrichtenanhänge: Export-APIs enthalten Anlageninformationen für Dateien, die in Nachrichten gesendet werden. Anlagen können als Metadaten und in einigen Fällen auch als Links (z. B. ASM-URLs) im Nachrichtentext angezeigt werden. Die Sammlung der Nachricht sollte zum Abrufen angefügter Dateien verwendet werden, da im Textkörper eingebettete attachments URLs möglicherweise nicht direkt zugänglich sind.

  • Reaktionen: Export-APIs unterstützen Reaktionen, die von einem Benutzer auf eine Teams-Nachricht initiiert werden. Die derzeit unterstützten Reaktionen sind "Herz", "Wut", "Gefällt mir", "Traurig", "Überrascht" und "Lachen". Zusätzlich zu Reaktionen unterstützt die Export-API auch den Reaktionsbearbeitungsverlauf, der Änderungen und Aktualisierungen enthält, die an einer Reaktion auf eine Nachricht vorgenommen wurden.

    Hinweis

    Mit Farbänderungen angepasste Reaktionen werden von der Export-API derzeit nicht unterstützt.

  • Freigegebene Kanalnachrichten: Export-APIs unterstützen das Erfassen von Nachrichten aus einem freigegebenen Kanal.

  • Gelöschte Teams: Die Export-API unterstützt die Erfassung von Nachrichten aus gelöschten Teams und gelöschten Standard-, privaten und freigegebenen Kanälen für maximal 30 Tage ab dem Tag der Löschung. Nach 30 Tagen werden die Teams und Kanäle endgültig gelöscht, und Nachrichten können nicht mehr abgerufen werden.

  • Gelöschte Benutzer: Die Export-API unterstützt die Erfassung von Nachrichten für gelöschte Benutzer bis zu 30 Tage nach dem Zeitpunkt der Löschung des Benutzers. Die Liste der gelöschten Benutzer finden Sie unter Gelöschte Elemente.

  • Inaktive Benutzer: Die Export-API unterstützt die Erfassung von Nachrichten für inaktive Benutzer bis zu 30 Tage ab dem Zeitpunkt, an dem der Benutzer inaktiv wird. Die Liste der inaktiven Postfächer finden Sie unter Inaktive Postfächer.

  • Eigenschaften von Chat-Nachrichten: Hier finden Sie die vollständige Liste der Eigenschaften, die Teams Export APIs unterstützen.

  • Control Messages: Die Export-API unterstützt zusätzlich zu den vom Benutzer generierten Nachrichten auch das Erfassen von Kontrollmeldungen. Steuerungsnachrichten sind vom System generierte Nachrichten, die auf dem Teams-Client angezeigt werden. Sie enthalten wichtige Informationen wie "Benutzer A hat Benutzer B zum Chat hinzugefügt und den gesamten Chatverlauf geteilt" zusammen mit dem Zeitstempel. Systemnachrichten ermöglichen dem Anrufer Einblicke in Ereignisse, die in einem Team, einem Kanal oder einem Chat stattgefunden haben. Sehen Sie sich die Liste der Kontrollmeldungen an, die die Export-API derzeit unterstützt.

    Erfahren Sie mehr über das Exportieren von Nachrichten im Chat und Kanal.

    Hinweis

    Besprechungsbezogene Steuerungsmeldungen werden von der Export-API derzeit nicht unterstützt.

  • Bearbeitete Historie: Wenn Ihr Mandant mit einer Aufbewahrungsrichtlinie für Teams eingerichtet ist, unterstützt die Export-API die Erfassung des bearbeiteten Nachrichtenverlaufs für Einzel- und Gruppenchats sowie von Beiträgen und Kommentaren in öffentlichen und freigegebenen Kanälen.

    Weitere Informationen zur Aufbewahrungsrichtlinie in Teams finden Sie unter Aufbewahrungsrichtlinien für Microsoft Teams verwalten .

    Erfahren Sie mehr über das Exportieren von bearbeiteten Verlaufsmeldungen in Chats und Kanälen.

  • Besprechungstranskripte: Abrufen aller Transkripte aus geplanten Onlinebesprechungsinstanzen, für die der angegebene Benutzer der Organisator ist. Diese API unterstützt derzeit nur private geplante Besprechungen.

    Weitere Informationen zum Exportieren von Besprechungstranskripten.

  • Besprechungsaufzeichnungen: Rufen Sie alle Aufzeichnungen von geplanten Onlinebesprechungsinstanzen ab, für die der angegebene Benutzer der Organisator ist. Diese API unterstützt derzeit nur private geplante Besprechungen.

    Weitere Informationen zum Exportieren von Besprechungsaufzeichnungen.

  • Gezielte Nachrichten: Nachrichten, die von einem Agent oder Bot an den Benutzer gesendet werden, können auch dann exportiert werden, wenn sie nach 24 Stunden vom Client gelöscht wurden. Erfahren Sie, wie Sie gezielte Nachrichten exportieren und gezielte Nachrichten löschen

Zugriff auf Teams-Export-APIs

  • Beispiel 1 ist eine einfache Abfrage zum Abrufen aller Nachrichten eines Benutzers oder Teams ohne Filter:

    GET https://graph.microsoft.com/v1.0/users/{id}/chats/getAllMessages
    
    GET https://graph.microsoft.com/v1.0/teams/{id}/channels/getAllMessages
    
  • Beispiel 2 ist eine Beispielabfrage zum Abrufen aller Nachrichten eines Benutzers oder Teams durch Angabe von Datums-, Uhrzeitfiltern und Top-50-Nachrichten:

    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
    
  • Beispiel 3 ist eine Beispielabfrage zum Abrufen der Links zu allen verfügbaren Teams-Besprechungsaufzeichnungen eines Benutzers. Die Filterung nach Datumsbereichen wird unterstützt. Der Top-n-Filter wird ähnlich wie Chat-Nachrichten unterstützt:

    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})
    
  • Beispiel 4 ist eine Beispielabfrage zum Abrufen der Links zu allen verfügbaren Teams-Besprechungstranskripten eines Benutzers. Die Filterung nach Datumsbereichen wird unterstützt. Der Top-n-Filter wird ähnlich wie Chat-Nachrichten unterstützt:

    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})
    
  • Beispiel 5 ist eine verkettete Beispielabfrage, um zuerst alle verfügbaren transkribierten Teams-Besprechungen eines Benutzers abzurufen und dann alle verfügbaren KI Insights abzurufen:

    GET https://graph.microsoft.com/v1.0/users/{id}/onlineMeetings/getAllTranscripts?$filter=MeetingOrganizer/User/Id eq '{id}'
    

    Rufen Sie dann KI Insights für jede meetingId Zeile ab, die von der obigen Anforderung zurückgegeben wurde.

    GET https://graph.microsoft.com/v1.0/copilot/users/{id}/onlineMeetings/{meetingId}/aiInsights
    

    Hinweis

    Die API gibt eine Antwort mit dem Link zur nächsten Seite zurück, wenn mehrere Ergebnisse vorhanden sind. Um den nächsten Satz von Ergebnissen zu erhalten, rufen Sie GET für die URL von @odata.nextlinkauf. Wenn @odata.nextlink nicht vorhanden oder null ist, werden alle Nachrichten abgerufen.

    Hinweis

    Es ist nicht garantiert, dass die Reihenfolge der Nachrichten in der Antwort nach datetime sortiert wird, z. B. createdDateTime oder lastModifiedDateTime.

Voraussetzungen für den Zugriff auf Teams-Export-APIs

  • Microsoft Teams-APIs in Microsoft Graph, die auf sensible Daten zugreifen, gelten als geschützte APIs. Sie können diese APIs aufrufen, solange die Voraussetzungen für den Zugriff ohne Benutzer erfüllt sind.

  • Anwendungsberechtigungen werden von Apps verwendet, die ohne angemeldeten Benutzer ausgeführt werden. Nur Administratoren können Anwendungsberechtigungen genehmigen. Die folgenden Berechtigungen sind erforderlich:

    • Chat. Read.All: Ermöglicht den Zugriff auf alle 1:1-, Gruppenchat- und Besprechungschatnachrichten.

    • ChannelMessage.Read.All: Ermöglicht den Zugriff auf alle Kanalnachrichten.

    • User.Read.All: ermöglicht den Zugriff auf die Liste der Benutzer für einen Mandanten.

    • OnlineMeetingTranscript.Read.All: Ermöglicht den Zugriff auf Transkripte für alle 1:n geplanten Teams-Besprechungen.

    • OnlineMeetingRecording.Read.All: Ermöglicht den Zugriff auf Aufzeichnungen für alle 1:n geplanten Teams-Besprechungen.

Lizenzanforderungen für Teams Export-APIs

Um Microsoft Teams-Export-APIs verwenden zu können, müssen Organisationen den Benutzern, deren Daten exportiert werden, eine aktive Microsoft Teams-Lizenz zugewiesen sein.

Hinweis

Die Nutzung von Microsoft Teams-Export-APIs erfordert keinen Microsoft Purview Data Loss Prevention (DLP)-Serviceplan oder eine zusätzliche DLP-Lizenzierung.

Die Export-APIs arbeiten unabhängig von Microsoft Purview DLP-Funktionen und stehen Mandanten mit der entsprechenden Teams-Lizenzierung zur Verfügung, die den Datenzugriff über Microsoft Graph-Export-APIs unterstützen.

Name des Partners Partnerlösung
Logo von Smarsh Archivierung und Kompatibilität von Microsoft Teams
Screenshot des Logos von Proofpoint. Proofpoint-Inhaltsmitschreiben für Microsoft Teams

Folgende Partner sind zertifiziert. Ihr Unternehmen kann mit einer beliebigen Kombination dieser Partner innerhalb Ihres Unternehmens zusammenarbeiten.

Name des Partners Partnerlösung
Logo der Rubrik Microsoft Teams – Sicherung und Wiederherstellung
Logo von Veeam Microsoft Teams – Sicherung und Wiederherstellung

Nächste Schritte

Wenn Sie als Anbieter am Zertifizierungsprogramm teilnehmen möchten, füllen Sie als nächsten Schritt dieses Formular aus. Wenn Sie mehr Kontext und Details bereitstellen möchten, senden Sie eine E-Mail an MS Teams Ecosystem Team (TeamsCategoryPartner@microsoft.com).

Auswertungsmodus (Standard)

Keine Modelldeklaration ermöglicht den Zugriff auf APIs mit eingeschränkter Nutzung pro anfordernder Anwendung zu Evaluierungszwecken.

JSON-Darstellung

  1. Das folgende Beispiel ist eine JSON-Darstellung der Chatressource:

    Namespace: 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",
     }
    

    Hinweis

    Weitere Informationen zur chatMessage-Ressource finden Sie im Artikel zum Ressourcentyp chatMessage .

  2. Das folgende Beispiel ist eine JSON-Darstellung der Aufzeichnungsressource:

    Namespace: 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" 
          },
        ] 
       }
    

    Dabei gilt Folgendes:

    • <id> Stellt eine einzelne Aufzeichnung dar.

    • <meetingId> Stellt eine Besprechungs- oder Anruf-ID dar.

    • <meetingOrganizer/user/id> Steht für den Organisator der Besprechung.

    • <createdDateTime> Gibt die Startzeit der Besprechung an.

    • <recordingContentUrl> value gibt die URL zum Aufzeichnungsinhalt an.

    • Die Aufzeichnungen liegen im MP4-Format vor.

    • Die durchschnittliche Größe des Aufzeichnungsinhalts selbst beträgt etwa 350 MB auf dem Datenträger, basierend auf den Durchschnittswerten, die wir für Besprechungen im Bereich von 30 bis 60 Minuten sehen.

    • Es ist nicht garantiert, dass die Ergebnisse nach createdDateTimesortiert werden. Wenn jedoch mehrere Aufzeichnungen für eine einzige Besprechung vorhanden sind, haben sie denselben meetingId Wert. Darüber hinaus sind die Einträge für die mehreren Aufzeichnungen für die betreffende Besprechung in der richtigen Reihenfolge angeordnet.

    • Ergebnisse sind garantiert erst vorhanden, wenn die zugehörigen Besprechungsaufzeichnungen verfügbar sind. Mit anderen Worten: Der Aufrufer benötigt keine weitere Abfrage der Verfügbarkeit.

    • Das Paginieren der Ergebnisse wird gemäß den aktuellen Mustern in der Teams-Export-API unterstützt. Die Paginierung wird durch das Vorhandensein der @oData.nextLink Eigenschaft in der Antwort unterstützt. Die nextLink-Eigenschaft enthält einen skipToken Wert, wie in der folgenden Tabelle angegeben. Wenn nein skipToken vorhanden ist, bedeutet dies, dass im aktuellen Batch keine Ergebnisse mehr abgerufen werden können:

      Anforderung Reaktion @nextLink Kommentare
      /getAllRecordings Anzahl: 10 ?skipToken=ABC Erstanforderung ohne skipToken
      /getAllRecordings?skipToken=ABC Anzahl: 10 ?skipToken=DEF SkipToken Zurückgegeben, Anforderung zum Abrufen der nächsten Seite
      /getAllRecordings?skipToken=DEF Anzahl: 7 Nein skipToken, keine weiteren Daten verfügbar
    • $top wird auch gemäß den aktuellen Mustern in der Teams-Export-API unterstützt.

    • DeltaToken zur Aktivierung von Änderungsnachverfolgung und Synchronisierungsszenarien unterstützt. Eine Übersicht und Beispiele für vorhandene Deltaabfragen finden Sie unter Verwenden der Deltaabfrage zum Nachverfolgen von Änderungen in Microsoft Graph-Daten.

    • Die folgende API kann verwendet werden, meetingIdum den tatsächlichen Aufzeichnungsinhalt der ausgewählten userId, und recordingId in der Antwort der GET-API getAllRecordings abzurufen. Sie gibt den Inhalt der Aufzeichnung zurück:

      GET users('{userId}')/onlineMeetings('{meetingId}')/recordings('{recordingId}')/content 
      
  3. Das folgende Beispiel ist eine JSON-Darstellung der Transkriptressource:

    Namespace: 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",   
           },
         ] 
        }
    

    Dabei gilt Folgendes:

    • <id> Stellt eine einzelne Aufzeichnung dar.

    • <meetingId> Stellt eine Besprechungs- oder Anruf-ID dar.

    • <meetingOrganizer/user/id> Steht für den Organisator der Besprechung.

    • <createdDateTime> Gibt die Startzeit der Besprechung an.

    • <transcriptContentUrl> value gibt die URL zum Transkriptinhalt an.

    • Transkriptinhalte liegen standardmäßig im VTT-Format vor. Bei Verwendung eines Accept-Header-Werts von kann application/vnd.openxmlformats-officedocument.wordprocessingml.documentaber auch das DOCX-Format erhalten werden.

    • Die durchschnittliche Größe des Transkriptinhalts selbst im JSON/VTT-Format beträgt etwa 300 KB, basierend auf Durchschnittswerten, die wir für Besprechungen im Bereich von 30 Minuten bis 60 Minuten sehen.

    • Es ist nicht garantiert, dass die Ergebnisse nach createdDateTimesortiert werden. Wenn jedoch mehrere Aufzeichnungen für eine einzige Besprechung vorhanden sind, haben sie denselben meetingId Wert. Darüber hinaus sind die Einträge für die mehreren Aufzeichnungen für die betreffende Besprechung in der richtigen Reihenfolge angeordnet.

    • Ergebnisse sind garantiert erst vorhanden, wenn die zugehörigen Besprechungsaufzeichnungen verfügbar sind. Mit anderen Worten: Der Aufrufer benötigt keine weitere Abfrage der Verfügbarkeit.

    • Das Paginieren der Ergebnisse wird gemäß den aktuellen Mustern in der Teams-Export-API unterstützt. Die Paginierung wird durch das Vorhandensein von @oData.nextLink Eigenschaften in der Antwort unterstützt. Die nextLink Eigenschaft enthält einen skipToken Wert, wie in der folgenden Tabelle angegeben. Wenn nein skipToken vorhanden ist, bedeutet dies, dass im aktuellen Batch keine Ergebnisse mehr abgerufen werden können:

      Anforderung Reaktion @nextLink Kommentare
      /getAllTranscripts Anzahl: 10 ?skipToken=ABC Erstanforderung ohne skipToken
      /getAllTranscripts?skipToken=ABC Anzahl: 10 ?skipToken=DEF SkipToken Zurückgegeben, Anforderung zum Abrufen der nächsten Seite
      /getAllTranscripts?skipToken=DEF Anzahl: 7 Nein skipToken, keine weiteren Daten verfügbar
    • $top wird auch gemäß den aktuellen Mustern in der Teams-Export-API unterstützt.

    • DeltaToken zur Aktivierung von Änderungsnachverfolgung und Synchronisierungsszenarien unterstützt. Eine Übersicht und Beispiele für vorhandene Deltaabfragen finden Sie unter Verwenden der Deltaabfrage zum Nachverfolgen von Änderungen in Microsoft Graph-Daten.

    • Die folgende API kann verwendet werden, um den tatsächlichen Transkriptinhalt der ausgewählten userId, meetingId und transcriptId abzurufen, der in der Antwort der GET getAllTranscripts-API abgerufen wurde. Sie gibt den Inhalt der Aufzeichnung zurück.

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

    Weitere Informationen finden Sie unter Verwenden von Graph-APIs zum Abrufen von Transkripten.

API-Filter exportieren

Die auf dem Teams Graph-Dienst gehostete Export-API ruft alle Benutzernachrichten aus dem Substrate-Benutzerpostfach mithilfe ab users/{userId}/chats/getAllMessages. Die Export-API ruft sowohl gesendete als auch empfangene Nachrichten für einen Benutzer ab. Dies führt zum Export doppelter Nachrichten, wenn die API für alle Benutzer im Chatthread aufgerufen wird.

Die Export-API verfügt über Filterparameter, mit denen die für einen Chatthread zurückgegebenen Nachrichten optimiert werden können. Die API GET unterstützt neue Filterparameter, mit denen Nachrichten basierend auf den gesendeten Benutzer-, Bot-, Anwendungs- und Systemereignisnachrichten extrahiert werden können. Der Filterparameter unterstützt Nachrichten, die gesendet wurden von:

  • Benutzer (mehrere Benutzer-IDs werden in derselben Anforderung unterstützt).

  • Anwendungen (Bots, Connectors usw.).

  • Alle userIdentityTypes außer emailUser und unknownFutureValue.

  • Systemereignismeldungen (Steuermeldungen).

Diese Parameter sind Bestandteil der .$filter Wenn keiner dieser Parameter in der Anforderung vorhanden ist, werden die Nachrichten aller in den angegebenen Benutzerchats anwesenden Benutzer zurückgegeben.

Die folgenden Filterszenarien werden unterstützt:

$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 messageType eq 'systemEventMessage'

(<any of the previous filters>) and (lastModifiedDateTime+gt+<date>+and+lastModifiedDateTime+lt+<date>)  
  • Die Abfrage gibt Nachrichten zurück, die vom angegebenen Benutzer gesendet wurden, falls from/user/id eq ‘{oid}’ vorhanden.

  • Die Abfrage gibt Nachrichten zurück, die von den Verbundbenutzern gesendet wurden, die Teil der Benutzerchats sind, falls from/user/userIdentityType eq ‘federatedUser’ vorhanden.

  • Die Abfrage gibt Nachrichten zurück, die vom angegebenen Anwendungstyp gesendet wurden, falls from/application/applicationIdentityType eq '{appType}' vorhanden.

  • Die Abfrage gibt Nachrichten zurück, die vom System gesendet wurden, wenn messageType eq 'systemEventMessage' sie vorhanden ist.

Diese Parameter können mit den OR-Operatoren oder durch Kombination mit dem lastModifiedDateTime$filter Parameter miteinander kombiniert werden.

Teams exportiert APIs für aufbewahrte Nachrichten

Wenn Ihr Mandant mit einer Aufbewahrungsrichtlinie für Teams eingerichtet ist, unterstützt die Export-API das Erfassen von Nachrichten aus dem Aufbewahrungsordner für einzelne &, Gruppenchats und Posts, Kommentare in öffentlichen & freigegebenen Kanälen.

Zugriff auf die API für aufbewahrte Nachrichten

  • Beispiel 1 ist eine einfache Abfrage zum Abrufen aller aufbewahrten Nachrichten eines Benutzers:

      GET https://graph.microsoft.com/v1.0/users/8b081ef6-4792-4def-b2c9-c363a1bf41d5/chats/getAllRetainedMessages
    
  • Beispiel 2 ist eine einfache Abfrage zum Abrufen aller aufbewahrten Nachrichten eines Teams:

      GET https://graph.microsoft.com/v1.0/teams/8b081ef6-4792-4def-b2c9-c363a1bf41d5/channels/getAllRetainedMessages
    

Was wird von der getAllRetainedMessages-API unterstützt?

  • Nachricht wird von einem Benutzer in einem Chat oder Kanal vorläufig gelöscht Wenn der Benutzer in der Warteschleife ist, kann die Nachricht über die API hinaus nach Ablauf der 21-tägigen Löschfrist exportiert werden.
  • Nachricht wird von einem Benutzer in einem Chat oder Kanal vorläufig gelöscht Wenn eine gültige Aufbewahrungsrichtlinie festgelegt ist, kann die Nachricht über die API hinaus nach einer Löschfrist von 21 Tagen exportiert werden.
  • Nachricht wird von einem Benutzer in einem Chat oder Kanal bearbeitet Wenn eine gültige Aufbewahrungsrichtlinie festgelegt ist, können die zuvor bearbeiteten Versionen der Nachricht exportiert werden.

Hinweis

Die API /getAllRetainedMessages ermöglicht den Abruf von gelöschten Kanalnachrichten für maximal 30 Tage ab dem Tag der Löschung. Nach 30 Tagen werden die Teams und Kanäle endgültig gelöscht, und Nachrichten können nicht mehr abgerufen werden.

Microsoft Copilot-Interaktionen

Erfahren Sie mehr über die aiInteractionHistory: getAllEnterpriseInteractions , die das Exportieren von Copilot-Interaktionen ermöglicht.