Exportieren von Inhalten mit den Microsoft Teams-Export-APIs

Mit Teams-Export-APIs können Sie 1:1-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. Chatnachricht stellt eine einzelne Chatnachricht innerhalb eines Kanals oder Chats dar. Die Chatnachricht kann eine Stammchatnachricht 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 Ihrem organization aktiviert haben und alle Microsoft Teams-Nachrichten programmgesteuert auf das Datum 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 programmgesteuert täglich 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.

  • (Beta) 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.

  • (Beta) Beispiel 4: Wenn Sie die Links zu Teams-Besprechungstranskripts 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 von Teams-Nachrichten: Teams Export-APIs unterstützen bis zu 200 RPS pro App pro Mandant und 600 RPS für eine Anwendung. Mit diesen Grenzwerten sollten Sie in der Lage sein, Teams-Nachrichten per Massenexport zu exportieren.

  • Anwendungskontext: Um Microsoft Graph aufzurufen, muss Ihre App ein Zugriffstoken vom Microsoft Identity Platform abrufen. Das Zugriffstoken enthält Informationen zu Ihrer App und den Berechtigungen, über die es für die über Microsoft Graph verfügbaren Ressourcen und APIs verfügt. Um ein Zugriffstoken zu erhalten, muss Ihre App beim Microsoft Identity Platform registriert und entweder von einem Benutzer oder einem Administrator für den Zugriff auf die benötigten Microsoft Graph-Ressourcen autorisiert werden.

    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 Informationen und Beispiele speziell für Microsoft Graph.

  • Hybridumgebung: Export-APIs unterstützen Nachrichten, die von Benutzern gesendet werden, die in einer Hybridumgebung (lokales Exchange und Teams) bereitgestellt werden. Auf alle Nachrichten, die von Benutzern gesendet werden, die für die 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 werden, kann über Export-APIs bis zu 21 Tage nach dem Löschzeitpunkt zugegriffen werden.

  • Nachrichtenanlagen: Export-APIs enthalten die Links zu den Anlagen, die als Teil von Nachrichten gesendet werden. Mithilfe von Export-APIs können Sie die in den Nachrichten angefügten Dateien abrufen.

  • Reaktionen: Export-APIs unterstützen Reaktionen, die von einem Benutzer auf eine Teams-Nachricht initiiert wurden. Reaktionen, die derzeit unterstützt werden, sind herzhaft, wütend, wie, traurig, überrascht und lachen. Zusätzlich zu Reaktionen unterstützt die Export-API auch Den Verlauf der Reaktionsbearbeitung, der Änderungen und Aktualisierungen enthält, die an einer Reaktion auf eine Nachricht vorgenommen wurden.

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

  • Gelöschte Teams: Die Export-API unterstützt das Erfassen von Nachrichten aus gelöschten Teams und gelöschten Standard-, privaten und freigegebenen Kanälen.

  • Chatnachrichteneigenschaften: Weitere Informationen finden Sie in der vollständigen Liste der Eigenschaften, die von Teams Export-APIs unterstützt werden.

  • Steuernachrichten: Die Export-API unterstützt das Erfassen von Steuernachrichten zusätzlich zu den vom Benutzer generierten Nachrichten. Steuernachrichten sind vom System generierte Nachrichten, die auf dem Teams-Client angezeigt werden und wichtige Informationen wie "Benutzer A hat Benutzer B zum Chat hinzugefügt und den gesamten Chatverlauf geteilt" zusammen mit dem Zeitstempel enthalten. Systemnachrichten ermöglichen es dem Anrufer, Einblicke in Ereignisse zu erhalten, die in einem Team, in einem Kanal oder in einem Chat aufgetreten sind. Derzeit unterstützt die Export-API das Ereignis "Mitglied hinzufügen" und "Mitglied entfernen" für Chats, Teams und Standardkanäle.

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

  • Teams Copilot Interactions & Microsoft 365 Chat: Die Export-API unterstützt keine Benutzer-zu-Copilot-Interaktionsnachrichten und microsoft 365-Chatnachrichten, die vom Bot gesendet werden.

Zugreifen 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 Datumszeitfiltern 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
    
  • (Beta) Beispiel 3 ist eine Beispielabfrage zum Abrufen der Links zu allen verfügbaren Teams-Besprechungsaufzeichnungen eines Benutzers. Top n-Filter wird ähnlich wie Chatnachrichten unterstützt:

    GET https://graph.microsoft.com/beta/users/{id}/onlineMeetings/getAllRecordings?$filter=MeetingOrganizerId eq ‘{id}’
    
  • (Beta) Beispiel 4 ist eine Beispielabfrage zum Abrufen der Links zu allen verfügbaren Teams-Besprechungstranskripts eines Benutzers. Top n-Filter wird ähnlich wie Chatnachrichten unterstützt:

    GET https://graph.microsoft.com/beta/users/{id}/onlineMeetings/getAllTranscripts?$filter=MeetingOrganizerId eq ‘{id}’
    

Hinweis

Die API gibt die Antwort mit link zur nächsten Seite zurück, falls mehrere Ergebnisse vorliegen. Um den nächsten Satz von Ergebnissen zu erhalten, rufen Sie einfach GET für die URL von auf @odata.nextlink. 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 vertrauliche Daten zugreifen, gelten als geschützte APIs. Sie können diese APIs aufrufen, solange die Anforderungen für den Zugriff ohne Benutzer erfüllt sind.

  • Anwendungsberechtigungen werden von Apps verwendet, die ohne angemeldeten Benutzer ausgeführt werden. Anwendungsberechtigungen können nur von einem Administrator genehmigt werden. 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 geplanten 1:n Teams-Besprechungen.

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

Lizenzanforderungen für Teams-Export-APIs

Die Export-API unterstützt Security and Compliance (S+C) und allgemeine Verwendungsszenarien über einen Modellabfrageparameter. S+C-Szenarien (Modell A) umfassen Seedingkapazität und erfordern ein E5-Abonnement. Allgemeine Nutzungsszenarien (Modell B) sind für alle Abonnements verfügbar und werden nur genutzt. Weitere Informationen zu Seedingkapazität und Verbrauchsgebühren finden Sie unter Lizenzierungs- und Zahlungsanforderungen für Microsoft Graph Teams-APIs.

Für Beta-APIs gibt es derzeit keine Lizenzierungs- oder Nutzungserzwingungen für Modell A oder Modell B. Dies kann sich jedoch in Zukunft ändern.

S+C/Modell A-Szenarien

Benutzer müssen auf Anwendungen beschränkt sein, die Sicherheits- und/oder Compliancefunktionen ausführen, und Benutzer müssen über bestimmte E5-Lizenzen verfügen, um diese Funktionalität nutzen und seeded capacity (Seedingkapazität) erhalten zu können. Die Seedingkapazität erfolgt pro Benutzer, wird pro Monat berechnet und auf Mandantenebene aggregiert. Für die Nutzung, die über die Seedingkapazität hinausgeht, wird App-Besitzern die API-Nutzung in Rechnung gestellt. Modell A kann nur auf Nachrichten von Benutzern mit einer zugewiesenen E5-Lizenz zugreifen.

Partnername Partnerlösung
Logo von smarsh Microsoft Teams-Archivierung und Compliance
Screenshot des Logos von Proofpoint. Proofpoint Content Capture für Microsoft Teams

Allgemeine Verwendung/Szenarios für Modell B

Für alle Szenarien, die nicht mit S+C zusammenhängen, gibt es keine Lizenzanforderungen oder Seedingkapazität. Wenn Verbrauchseinheiten verfügbar werden, werden App-Besitzern alle monatlichen API-Aufrufe in Rechnung gestellt.

Die folgenden Partner sind zertifiziert. Ihr Unternehmen kann sich dafür entscheiden, mit einer beliebigen Kombination dieser Partner in Ihrem Unternehmen zusammenzuarbeiten.

Partnername Partnerlösung
Logo der Rubrik Microsoft Teams-Sicherung und -Wiederherstellung
Logo von Veeam Microsoft Teams-Sicherung und -Wiederherstellung

Nächste Schritte

Wenn Sie ein Anbieter sind, der am Zertifizierungsprogramm teilnehmen möchte, füllen Sie dieses Formular als nächsten Schritt aus. Wenn Sie weitere Kontexte und Details angeben müssen, senden Sie eine E-Mail an das MS Teams Ecosystem Team (TeamsCategoryPartner@microsoft.com).

Auswertungsmodus (Standard)

Keine Modelldeklaration ermöglicht den Zugriff auf APIs mit eingeschränkter Nutzung für jede anfordernde Anwendung zu Auswertungszwecken.

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 chatMessage-Ressourcentyp .

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

    Namespace: microsoft.graph

    {
     "@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(meetingRecording)", 
     "@odata.count": 2, 
     "@odata.nextLink": "https://graph.microsoft.com/beta/users('{userId}')/onlineMeetings/getAllRecordings?$filter=MeetingOrganizerId+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/beta/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/beta/users/{userId}/onlineMeetings/{meetingId}/recordings/{recordingId}/content" 
          },
        ] 
       }
    

    Dabei gilt Folgendes:

    • <id> stellt eine einzelne Aufzeichnung dar.

    • <meetingId> stellt einen Besprechungs- oder Anrufbezeichner dar.

    • <meetingOrganizerId> stellt den Organisator der Besprechung dar.

    • <createdDateTime> gibt die Startzeit der Besprechung an.

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

    • 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 für Besprechungen im Bereich von 30 Minuten bis 60 Minuten angezeigt werden.

    • Es ist nicht garantiert, dass die Ergebnisse nach createdDateTimesortiert werden. Wenn jedoch mehrere Aufzeichnungen für eine einzelne Besprechung vorhanden sind, haben sie den gleichen meetingId Wert. Darüber hinaus werden die Einträge für die mehrfachen Aufzeichnungen für die betreffende Besprechung korrekt sequenziert.

    • Die Ergebnisse sind garantiert erst vorhanden, nachdem die zugehörigen Besprechungsaufzeichnungen verfügbar sind. Anders ausgedrückt: Für den Aufrufer ist keine zusätzliche Abfrage der Verfügbarkeit erforderlich.

    • Das Paginieren durch die Ergebnisse wird gemäß den aktuellen Mustern in der Teams-Export-API unterstützt. Die Paginierung wird über das Vorhandensein einer @oData.nextLink -Eigenschaft in der Antwort unterstützt. Die nextLink-Eigenschaft enthält einen skipToken Wert, wie unten angegeben. Wenn kein skipToken vorhanden ist, bedeutet dies, dass im aktuellen Batch keine weiteren Ergebnisse zum Abrufen vorhanden sind:

      Anforderung Reaktion @nextLink Kommentare
      /getAllRecordings Anzahl: 10 ?skipToken=ABC Anfängliche Anforderung 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 -Parameter werden auch gemäß den aktuellen Mustern in der Teams-Export-API unterstützt.

    • DeltaToken zum Aktivieren von Änderungsnachverfolgungs- und Synchronisierungsszenarien unterstützt wird. Eine Übersicht und Beispiele für vorhandene Deltaabfragen finden Sie unter Verwenden von Deltaabfragen zum Nachverfolgen von Änderungen in Microsoft Graph-Daten.

    • Die folgende API kann verwendet werden, um den tatsächlichen Aufzeichnungsinhalt des ausgewählten userIdabzurufen, meetingId der recordingId in der Antwort der GET-API getAllRecordings abgerufen wurde. Der Inhalt der Aufzeichnung wird zurückgegeben:

    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/beta/$metadata#Collection(callTranscript)",  
      "@odata.count": 2, 
      "@odata.nextLink": "https://graph.microsoft.com/beta/users('{userId}')/onlineMeetings/getAllTranscripts?$filter=MeetingOrganizerId+eq+%27{userId}%27&$skiptoken=MSMjMCMjTkNaYVNIQjVVbXRPYWxaV1dscGFWVGg1V2pOb1IxUXpRWGxrUm1oTFVrWmtTV1ZyYkhwUlZVWm9UMWR3VEdWWGRFTlJWVVpDVVZFOVBRPT0%3d",  
      "value":
        [ 
          { 
           "@odata.type": "#microsoft.graph.callTranscript", 
           "id": "MSMjMCMjMGFjNmUwZTgtYmZjYy00NDQxLTk2MGYtZjllNjVhNjI0NzBh", 
           "meetingId": "MSoxMjczYTAxNi0yMDFkLTRmOTUtODA4My0xYjdmOTliM2VkZWIqMCoqMTk6bWVldGluZ19aR1F3WTJZNE9XTXROekppWlMwME1XWTRMVGc0TWpBdE1ERXdOV1kzWlRsak9UTXlAdGhyZWFkLnYy", 
           "meetingOrganizerId": "{userId}", 
           "transcriptContentUrl": "https://graph.microsoft.com/beta/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/beta/users/{userId}/onlineMeetings/{meetingId}/transcripts/{transcriptId}/content",   
           },
         ] 
        }
    

    Dabei gilt Folgendes:

    • <id> stellt eine einzelne Aufzeichnung dar.

    • <meetingId> stellt einen Besprechungs- oder Anrufbezeichner dar.

    • <meetingOrganizerId> stellt den Organisator der Besprechung dar.

    • <createdDateTime> gibt die Startzeit der Besprechung an.

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

    • Der Transkriptinhalt hat standardmäßig das VTT-Format. Mithilfe des Accept-Headerwerts kann application/vnd.openxmlformats-officedocument.wordprocessingml.documentjedoch auch das DOCX-Format abgerufen werden.

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

    • Es ist nicht garantiert, dass die Ergebnisse nach createdDateTimesortiert werden. Wenn jedoch mehrere Aufzeichnungen für eine einzelne Besprechung vorhanden sind, haben sie den gleichen meetingId Wert. Darüber hinaus werden die Einträge für die mehrfachen Aufzeichnungen für die betreffende Besprechung korrekt sequenziert.

    • Die Ergebnisse sind garantiert erst vorhanden, nachdem die zugehörigen Besprechungsaufzeichnungen verfügbar sind. Anders ausgedrückt: Für den Aufrufer ist keine zusätzliche Abfrage der Verfügbarkeit erforderlich.

    • Das Paginieren durch die Ergebnisse wird gemäß den aktuellen Mustern in der Teams-Export-API unterstützt. Die Paginierung wird über das Vorhandensein einer @oData.nextLink -Eigenschaft in der Antwort unterstützt. Die nextLink -Eigenschaft enthält einen skipToken Wert, wie unten angegeben. Wenn kein skipToken vorhanden ist, bedeutet dies, dass im aktuellen Batch keine weiteren Ergebnisse zum Abrufen vorhanden sind:

      Anforderung Reaktion @nextLink Kommentare
      /getAllTranscripts Anzahl: 10 ?skipToken=ABC Anfängliche Anforderung 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 -Parameter werden auch gemäß den aktuellen Mustern in der Teams-Export-API unterstützt.

    • DeltaToken zum Aktivieren von Änderungsnachverfolgungs- und Synchronisierungsszenarien unterstützt wird. Eine Übersicht und Beispiele für vorhandene Deltaabfragen finden Sie unter Verwenden von Deltaabfragen 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, die in der Antwort der GETAllTranscripts-API abgerufen wurde. Er 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 eines Transkripts.

Exportieren von API-Filtern

Die export-API, die im Teams Graph-Dienst gehostet wird, ruft alle Benutzernachrichten aus dem Benutzerpostfach Substrate mithilfe users/{userId}/chats/getAllMessagesvon ab. Die Export-API ruft sowohl gesendete als auch empfangene Nachrichten für einen Benutzer ab, was zum Export doppelter Nachrichten führt, 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 von folgendem Gesendet werden:

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

  • Anwendungen (Bots, Connectors usw.)

  • Anonyme Benutzer

  • Verbundbenutzer (Externe Zugriffsbenutzer)

  • Systemereignismeldungen (Steuernachrichten)

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

Folgende 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 '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>)  
  • Die Abfrage gibt nachrichten zurück, die vom angegebenen Benutzer gesendet wurden, wenn from/user/id eq ‘{oid}’ vorhanden ist.

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

  • Die Abfrage gibt Nachrichten zurück, die vom angegebenen Anwendungstyp gesendet werden, wenn from/application/applicationIdenitytyType eq '{appType}' vorhanden ist.

  • Die Abfrage gibt vom System gesendete Nachrichten zurück, wenn messageType eq 'systemEventMessage' vorhanden ist.

Diese Parameter können mithilfe der OR-Operatoren sowie durch Kombination mit dem lastModifiedDateTime$filter -Parameter kombiniert werden.