Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le API di esportazione di Teams consentono di esportare 1:1, chat di gruppo, chat di riunioni e messaggi di canale da Microsoft Teams. Se l'organizzazione deve esportare i messaggi di Microsoft Teams, è possibile estrarli usando le API di esportazione di Teams. Il messaggio di chat rappresenta un singolo messaggio di chat all'interno di un canale o di una chat. Il messaggio di chat può essere un messaggio di chat radice o parte di un thread di risposta definito dalla proprietà replyToId nel messaggio di chat.
Ecco alcuni esempi su come usare queste API di esportazione:
Esempio 1: se nell'organizzazione è stato abilitato Microsoft Teams e si vogliono esportare tutti i messaggi di Microsoft Teams fino a oggi a livello di programmazione passando l'intervallo di date per un determinato utente o team.
Esempio 2: se desideri esportare a livello di programmazione tutti i messaggi utente o team ogni giorno fornendo un intervallo di date. Le API di esportazione possono recuperare tutti i messaggi creati o aggiornati durante l'intervallo di date specificato.
Esempio 3: se si desidera esportare a livello di programmazione i collegamenti alle registrazioni delle riunioni di Teams per un determinato organizzatore della riunione e quindi scaricare le registrazioni effettive.
Esempio 4: se si desidera esportare a livello di programmazione i collegamenti alle trascrizioni delle riunioni di Teams per un determinato organizzatore della riunione e quindi scaricare le trascrizioni effettive.
Quali elementi sono supportati dalle API di esportazione di Teams?
Messaggio dell'esportazione in blocco di Teams: Fare riferimento a Limiti di limitazione delle API di esportazione di Teams. Con questi limiti, dovrebbe essere possibile esportare in blocco i messaggi di Teams.
Limite massimo per il messaggio di Teams: È consigliabile impostare il limite del filtro TOP per le API dei messaggi di Teams su 250 come limite massimo oltre il quale le prestazioni sarebbero limitate.
Nota
Il valore $top è un suggerimento massimo e non una dimensione di pagina garantita. A causa del modo in cui i messaggi vengono recuperati da più cartelle/cassette postali di Outlook sottostanti, una risposta può restituire meno elementi del richiesto e includere un @odata.nextLink recupero continuo da altre cartelle. Questo è il comportamento da progettazione.
Contesto applicazione: per chiamare Microsoft Graph, l'app deve acquisire un token di accesso da Microsoft Identity Platform. Il token di accesso contiene informazioni sull'app e sulle autorizzazioni di cui dispone per le risorse e le API disponibili tramite Microsoft Graph. Per ottenere un token di accesso, l'app deve essere registrata con Microsoft Identity Platform. Un utente o un amministratore deve autorizzarlo per l'accesso alle risorse di Microsoft Graph di cui ha bisogno. Se si ha già familiarità con l'integrazione di un'app con Microsoft Identity Platform per ottenere i token, vedere la sezione Passaggi successivi per informazioni ed esempi specifici per Microsoft Graph.
Ambiente ibrido: Le API di esportazione supportano i messaggi inviati dagli utenti che hanno eseguito il provisioning in un ambiente ibrido (Exchange e Teams locali). Tutti i messaggi inviati dagli utenti configurati per l'ambiente ibrido sono accessibili tramite le API di esportazione.
Messaggi eliminati dall'utente: È possibile accedere ai messaggi eliminati dagli utenti dal client Teams usando le API di esportazione fino a 21 giorni dopo il momento dell'eliminazione.
Allegati ai messaggi: Le API di esportazione includono informazioni sugli allegati per i file inviati nei messaggi. Gli allegati possono essere visualizzati come metadati e, in alcuni casi, come collegamenti (ad esempio, URL ASM) all'interno del corpo del messaggio. La raccolta del
attachmentsmessaggio deve essere utilizzata per recuperare i file allegati, poiché gli URL incorporati nel corpo potrebbero non essere direttamente accessibili.Reazioni: Le API di esportazione supportano le reazioni avviate da un utente su un messaggio di Teams. Le reazioni attualmente supportate sono cuore, rabbia, like, triste, sorpresa e risata. Oltre alle reazioni, l'API di esportazione supporta anche la cronologia delle modifiche alle reazioni, che include le modifiche e gli aggiornamenti apportati a una reazione a un messaggio.
Nota
Le reazioni personalizzate con modifiche di colore non sono attualmente supportate dall'API di esportazione.
Messaggi del canale condiviso: Le API di esportazione supportano l'acquisizione dei messaggi da un canale condiviso.
Squadre eliminate: L'API di esportazione supporta l'acquisizione dei messaggi dai Teams eliminati e dai canali standard, privati e condivisi eliminati per un massimo di 30 giorni dal giorno dell'eliminazione. Dopo 30 giorni, i team e i canali vengono eliminati definitivamente e i messaggi non possono essere recuperati.
Utenti eliminati: l'API di esportazione supporta l'acquisizione dei messaggi per gli utenti eliminati fino a 30 giorni dopo il momento in cui l'utente è stato eliminato. Per trovare l'elenco degli utenti eliminati, vedere Posta eliminata.
Utenti inattivi: l'API di esportazione supporta l'acquisizione di messaggi per utenti inattivi fino a 30 giorni dopo il momento in cui l'utente diventa inattivo. Per trovare l'elenco delle cassette postali inattive, vedere Cassette postali inattive.
Proprietà messaggio di chat: fare riferimento all'elenco completo delle proprietà supportate dalle API di esportazione di Teams.
Messaggi di controllo: L'API di esportazione supporta l'acquisizione di messaggi di controllo oltre ai messaggi generati dall'utente. I messaggi di controllo sono messaggi generati dal sistema che vengono visualizzati nel client Teams. Contengono informazioni importanti come "L'utente A ha aggiunto l'utente B alla chat e ha condiviso tutta la cronologia della chat" insieme al timestamp. I messaggi di sistema consentono al chiamante di avere informazioni approfondite sugli eventi accaduti in un team, un canale o una chat. Fare riferimento all'elenco dei messaggi di controllo attualmente supportati dall'API Export .
Altre informazioni sull'esportazione dei messaggi nella chat e nel canale.
Nota
I messaggi di controllo correlati alle riunioni non sono attualmente supportati dall'API di esportazione.
Cronologia modificata: Se il tenant è configurato con i criteri di conservazione di Teams, l'API di esportazione supporta l'acquisizione della cronologia delle modifiche dei messaggi per chat individuali e di gruppo, nonché di post e commenti nei canali pubblici e condivisi.
Per altre informazioni sui criteri di conservazione di Teams, vedere Gestire i criteri di conservazione per Microsoft Teams per altri dettagli.
Altre informazioni sull'esportazione dei messaggi della cronologia modificati nelle chat e nei canali.
Trascrizioni delle riunioni: Ottenere tutte le trascrizioni dalle istanze delle riunioni online pianificate per le quali l'utente specificato è l'organizzatore. Questa API attualmente supporta solo le riunioni pianificate private.
Altre informazioni sull'esportazione delle trascrizioni delle riunioni.
Registrazioni delle riunioni: Recupera tutte le registrazioni dalle istanze delle riunioni online pianificate per le quali l'utente specificato è l'organizzatore. Questa API attualmente supporta solo le riunioni pianificate private.
Altre informazioni sull'esportazione delle registrazioni delle riunioni.
Messaggi mirati: I messaggi inviati da un agente o un bot all'utente possono essere esportati anche dopo che sono stati eliminati dai client dopo 24 ore. Informazioni su come esportare messaggi mirati ed eliminare messaggi mirati.
Come accedere alle API di esportazione di Teams
L'esempio 1 è una semplice query per recuperare tutti i messaggi di un utente o di un team senza alcun filtro:
GET https://graph.microsoft.com/v1.0/users/{id}/chats/getAllMessagesGET https://graph.microsoft.com/v1.0/teams/{id}/channels/getAllMessagesL'esempio 2 è una query di esempio per recuperare tutti i messaggi di un utente o di un team specificando i filtri di data e ora e i primi 50 messaggi:
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.413ZGET 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.413ZL'esempio 3 è una query di esempio per recuperare i collegamenti a tutte le registrazioni delle riunioni di Teams disponibili di un utente. Il filtro per intervallo di date è supportato. Il filtro TOP n è supportato in modo simile ai messaggi della chat:
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})L'esempio 4 è una query di esempio per recuperare i collegamenti a tutte le trascrizioni delle riunioni di Teams disponibili di un utente. Il filtro per intervallo di date è supportato. Il filtro TOP n è supportato in modo simile ai messaggi della chat:
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})L'esempio 5 è una query concatenata di esempio per ottenere prima tutte le riunioni di Teams trascritte disponibili di un utente e quindi recuperare tutte le Informazioni dettagliate sull'intelligenza artificiale disponibili:
GET https://graph.microsoft.com/v1.0/users/{id}/onlineMeetings/getAllTranscripts?$filter=MeetingOrganizer/User/Id eq '{id}'Recuperare quindi le Informazioni dettagliate sull'intelligenza artificiale per ogni
meetingIdoggetto restituito dalla richiesta precedente.GET https://graph.microsoft.com/v1.0/copilot/users/{id}/onlineMeetings/{meetingId}/aiInsightsNota
L'API restituisce una risposta con il collegamento alla pagina successiva se sono presenti più risultati. Per ottenere il set di risultati successivo, chiamare GET sull'URL di @odata.nextlink. Se @odata.nextlink non è presente o null, vengono recuperati tutti i messaggi.
Nota
Non è garantito che l'ordine dei messaggi nella risposta sia ordinato per datetime, ad esempio createdDateTime o lastModifiedDateTime.
Prerequisiti per accedere alle API di esportazione di Teams
Le API di Microsoft Teams in Microsoft Graph che accedono a dati sensibili sono considerate API protette. È possibile chiamare queste API purché siano soddisfatti i requisiti per l'accesso senza utente .
Le autorizzazioni delle applicazioni vengono usate dalle app eseguite senza la presenza di un utente connesso. Solo un amministratore può approvare le autorizzazioni dell'applicazione. Sono necessarie le autorizzazioni seguenti:
Chat. Read.All: consente l'accesso a tutti i messaggi 1:1, chat di gruppo e chat delle riunioni.
ChannelMessage.Read.All: abilita l'accesso a tutti i messaggi del canale.
User.Read.All: abilita l'accesso all'elenco di utenti per un tenant.
OnlineMeetingTranscript.Read.All: consente l'accesso alle trascrizioni per tutte le riunioni di Teams 1:n pianificate.
OnlineMeetingRecording.Read.All: consente l'accesso alle registrazioni per tutte le riunioni di Teams 1:n pianificate.
Requisiti di licenza per le API di esportazione di Teams
Per usare le API di esportazione di Microsoft Teams, le organizzazioni devono avere una licenza di Microsoft Teams attiva assegnata agli utenti i cui dati vengono esportati.
Nota
L'uso delle API di esportazione di Microsoft Teams non richiede un piano di servizio di Prevenzione della perdita dei dati Microsoft Purview (DLP) o qualsiasi licenza DLP aggiuntiva.
Le API di esportazione operano indipendentemente dalle funzionalità di Microsoft DLP Purview e sono disponibili per i tenant con le licenze Teams appropriate che supportano l'accesso ai dati tramite le API di esportazione di Microsoft Graph.
| Nome partner | Soluzione Partner |
|---|---|
|
Archiviazione e conformità di Microsoft Teams |
|
Proofpoint Content Trascrivi per Microsoft Teams |
I seguenti partner sono certificati. L'azienda può scegliere di collaborare con qualsiasi combinazione di tali partner all'interno dell'organizzazione.
| Nome partner | Soluzione Partner |
|---|---|
|
Backup e ripristino di Microsoft Teams |
|
Backup e ripristino di Microsoft Teams |
Passaggi successivi
Se sei un fornitore che cerca di aderire al programma di certificazione, compila questo modulo come passo successivo. Se è necessario fornire più contesto e dettagli, inviare un messaggio al team dell'ecosistema di MS Teams (TeamsCategoryPartner@microsoft.com).
Modalità di valutazione (impostazione predefinita)
Nessuna dichiarazione di modello consente l'accesso alle API con utilizzo limitato per ogni applicazione richiedente a scopo di valutazione.
Rappresentazione JSON
L'esempio seguente è una rappresentazione JSON della risorsa chat:
Spazio dei nomi: 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", }Nota
Per altre informazioni sulla risorsa chatMessage, vedi l'articolo sul tipo di risorsa chatMessage .
L'esempio seguente è una rappresentazione JSON della risorsa di registrazione:
Spazio dei nomi: 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" }, ] }Dove:
<id>rappresenta una singola registrazione.<meetingId>Rappresenta un identificatore di riunione o chiamata.<meetingOrganizer/user/id>Rappresenta l'organizzatore della riunione.<createdDateTime>Indica l'ora di inizio della riunione.<recordingContentUrl>indica l'URL del contenuto della registrazione.Le registrazioni sono in formato MP4.
La dimensione media del contenuto della registrazione è di circa 350 MB su disco, in base alle medie riscontrate per le riunioni comprese tra 30 e 60 minuti.
Non è garantito che i risultati siano ordinati per
createdDateTime. Tuttavia, se sono presenti più registrazioni per una singola riunione, condividono lo stessomeetingIdvalore. Inoltre, le voci per le registrazioni multiple sono elencate correttamente per la riunione in questione.I risultati saranno disponibili solo dopo che le registrazioni delle riunioni associate saranno disponibili. In altre parole, il chiamante non richiede altri sondaggi per la disponibilità.
L'impaginazione dei risultati è supportata in base ai modelli correnti nell'API di esportazione di Teams. L'impaginazione è supportata tramite la
@oData.nextLinkpresenza della proprietà nella risposta. La proprietà nextLink contiene unskipTokenvalore, come indicato nella tabella seguente. Se non è presente alcunskipTokenrisultato, significa che non sono presenti altri risultati da recuperare nel batch corrente:Richiesta Risposta @nextLink Commenti /getAllRecordingsConteggio: 10 ?skipToken=ABCRichiesta iniziale senza skipToken/getAllRecordings?skipToken=ABCConteggio: 10 ?skipToken=DEFSkipTokenRestituito, richiesta di ottenere la pagina successiva/getAllRecordings?skipToken=DEFConteggio: 7 No skipToken, non più dati disponibili$topè supportato anche come da modelli correnti nell'API di esportazione di Teams.DeltaTokenper abilitare gli scenari di rilevamento e sincronizzazione delle modifiche. Per una panoramica ed esempi di query delta esistenti, vedere Usare la query delta per tenere traccia delle modifiche nei dati di Microsoft Graph.È possibile usare l'API seguente per ottenere il contenuto effettivo della registrazione dell'elemento selezionato
userId, , erecordingIdottenuto nella risposta dell'API GETgetAllRecordingsmeetingId. Restituisce il contenuto della registrazione:GET users('{userId}')/onlineMeetings('{meetingId}')/recordings('{recordingId}')/content
L'esempio seguente è una rappresentazione JSON della risorsa trascrizione:
Spazio dei nomi: 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", }, ] }Dove:
<id>rappresenta una singola registrazione.<meetingId>Rappresenta un identificatore di riunione o chiamata.<meetingOrganizer/user/id>Rappresenta l'organizzatore della riunione.<createdDateTime>Indica l'ora di inizio della riunione.<transcriptContentUrl>indica l'URL del contenuto della trascrizione.Il contenuto della trascrizione, per impostazione predefinita, è in formato VTT. Tuttavia, utilizzando un valore di intestazione Accept di
application/vnd.openxmlformats-officedocument.wordprocessingml.document, è anche possibile ottenere il formato DOCX.La dimensione media del contenuto della trascrizione in formato JSON/VTT è di circa 300 KB, in base alle medie riscontrate per le riunioni comprese tra 30 e 60 minuti.
Non è garantito che i risultati siano ordinati per
createdDateTime. Tuttavia, se sono presenti più registrazioni per una singola riunione, condividono lo stessomeetingIdvalore. Inoltre, le voci per le registrazioni multiple sono elencate correttamente per la riunione in questione.I risultati saranno disponibili solo dopo che le registrazioni delle riunioni associate saranno disponibili. In altre parole, il chiamante non richiede altri sondaggi per la disponibilità.
L'impaginazione dei risultati è supportata in base ai modelli correnti nell'API di esportazione di Teams. L'impaginazione è supportata tramite la presenza della
@oData.nextLinkproprietà nella risposta. LanextLinkproprietà contiene unskipTokenvalore, come indicato nella tabella seguente. Se non è presente alcunskipTokenrisultato, significa che non sono presenti altri risultati da recuperare nel batch corrente:Richiesta Risposta @nextLink Commenti /getAllTranscriptsConteggio: 10 ?skipToken=ABCRichiesta iniziale senza skipToken/getAllTranscripts?skipToken=ABCConteggio: 10 ?skipToken=DEFSkipTokenRestituito, richiesta di ottenere la pagina successiva/getAllTranscripts?skipToken=DEFConteggio: 7 No skipToken, non più dati disponibili$topè supportato anche come da modelli correnti nell'API di esportazione di Teams.DeltaTokenper abilitare gli scenari di rilevamento e sincronizzazione delle modifiche. Per una panoramica ed esempi di query delta esistenti, vedere Usare la query delta per tenere traccia delle modifiche nei dati di Microsoft Graph.È possibile usare l'API seguente per ottenere il contenuto effettivo della trascrizione degli userId, meetingId e transcriptId selezionati ottenuti nella risposta dell'API getAllTranscripts GET. Restituisce il contenuto della registrazione.
GET users('{userId}')/onlineMeetings('{meetingId}')/transcripts('{transcriptId}')/content
Per altre informazioni, vedere Usare le API di Graph per recuperare la trascrizione.
Esportare filtri API
L'API di esportazione ospitata nel servizio Graph di Teams ottiene tutti i messaggi utente dalla cassetta postale utente del substrato usando users/{userId}/chats/getAllMessages. L'API di esportazione recupera i messaggi inviati e ricevuti per un utente, il che comporta l'esportazione di messaggi duplicati quando si chiama l'API per tutti gli utenti nel thread di chat.
L'API di esportazione dispone di parametri di filtro che consentono di ottimizzare i messaggi restituiti per un thread di chat. L'API GET supporta nuovi parametri di filtro che consentono di estrarre i messaggi in base ai messaggi inviati da utente, bot e applicazione ed eventi di sistema. Il parametro filter supporta i messaggi inviati da:
utenti (più ID utente supportati nella stessa richiesta).
(bot, connettori e così via).
Tutti gli userIdentityType tranne emailUser e unknownFutureValue.
Messaggi di eventi di sistema (messaggi di controllo).
Questi parametri fanno parte della richiesta $filter. Se nessuno di questi parametri è presente nella richiesta, vengono restituiti i messaggi di tutti gli utenti presenti nelle chat utente specificate.
Gli scenari di filtro supportati sono i seguenti:
$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>)
La query restituisce i messaggi inviati dall'utente specificato, se
from/user/id eq ‘{oid}’presente.La query restituisce i messaggi inviati dagli utenti federati che fanno parte delle chat utente, se
from/user/userIdentityType eq ‘federatedUser’presente.La query restituisce i messaggi inviati dal tipo di applicazione specificato, se
from/application/applicationIdentityType eq '{appType}'presente.La query restituisce i messaggi inviati dal sistema, se
messageType eq 'systemEventMessage'presente.
Questi parametri possono essere combinati tra loro utilizzando gli operatori OR o combinandoli con il lastModifiedDateTime$filter parametro.
API di esportazione di Teams per i messaggi conservati
Se il tenant è configurato con i criteri di conservazione di Teams, l'API di esportazione supporta l'acquisizione dei messaggi dalla cartella Blocchi per chat individuali & di gruppo, e i post, i commenti nei canali pubblici & condivisi.
Come accedere all'API dei messaggi conservati
L'esempio 1 è una semplice query per recuperare tutti i messaggi conservati di un utente:
GET https://graph.microsoft.com/v1.0/users/8b081ef6-4792-4def-b2c9-c363a1bf41d5/chats/getAllRetainedMessagesL'esempio 2 è una semplice query per recuperare tutti i messaggi conservati di un team:
GET https://graph.microsoft.com/v1.0/teams/8b081ef6-4792-4def-b2c9-c363a1bf41d5/channels/getAllRetainedMessages
Funzionalità supportate dall'API getAllRetainedMessages
- Il messaggio viene eliminato temporaneamente da un utente in una chat o in un canale Se l'utente è in attesa, oltre i 21 giorni dal periodo di eliminazione, il messaggio può essere esportato tramite l'API.
- Il messaggio viene eliminato temporaneamente da un utente in una chat o in un canale Se sono impostati criteri di conservazione validi, oltre i 21 giorni dal periodo di eliminazione, il messaggio può essere esportato tramite l'API.
- Il messaggio viene modificato da un utente in una chat o in un canale Se sono impostati criteri di conservazione validi, è possibile esportare le versioni modificate precedenti del messaggio.
Nota
L'API /getAllRetainedMessages consente il recupero dei messaggi del canale eliminato per un massimo di 30 giorni dal giorno dell'eliminazione. Dopo 30 giorni, i team e i canali vengono eliminati definitivamente e i messaggi non possono essere recuperati.
Interazioni con Microsoft Copilot
Altre informazioni su aiInteractionHistory: getAllEnterpriseInteractions che consente di esportare le interazioni di Copilot.