L'API Gmail utilizza le risorse Thread
per raggruppare le risposte alle email con il messaggio originale in un'unica conversazione o
thread. In questo modo puoi recuperare tutti i messaggi di una conversazione, in ordine,
rendendo più facile avere il contesto di un messaggio o perfezionare i risultati di ricerca.
Come i messaggi, anche i thread possono avere etichette applicate. Tuttavia, a differenza dei messaggi, i thread non possono essere creati, ma solo eliminati. I messaggi possono, tuttavia, essere inseriti in un thread.
Sommario
Recupero dei thread
I thread offrono un modo semplice per recuperare i messaggi di una conversazione in ordine.
Elencando un insieme di thread, puoi scegliere di raggruppare i messaggi per conversazione
e fornire un contesto aggiuntivo. Puoi recuperare un elenco di thread utilizzando il metodo
threads.list
o recuperare
un thread specifico con
threads.get
. Puoi anche
filtrare i thread utilizzando gli stessi parametri di query
della risorsa Message
. Se un messaggio
in un thread corrisponde alla query, il thread viene restituito nel risultato.
L'esempio di codice riportato di seguito mostra come utilizzare entrambi i metodi in un esempio che
visualizza i thread più attivi nella tua casella di posta. Il metodo threads.list
recupera tutti gli ID thread, poi threads.get
recupera tutti i messaggi in ogni thread.
Per i thread con 3 o più risposte, estraiamo la riga Subject
e mostriamo
quelle non vuote più il numero di messaggi nel thread. Troverai questo
esempio di codice anche nel video DevByte corrispondente.
Python
Aggiungere bozze e messaggi ai thread
Se invii o esegui la migrazione di messaggi che sono una risposta a un'altra email o parte di una conversazione, la tua applicazione deve aggiungere il messaggio al thread correlato. In questo modo, gli utenti di Gmail che partecipano alla conversazione possono mantenere il messaggio nel contesto.
Una bozza può essere aggiunta a un thread durante la creazione, l'aggiornamento o l'invio di un messaggio in bozza. Puoi anche aggiungere un messaggio a un thread durante l'inserimento o l'invio di un messaggio.
Per far parte di un thread, un messaggio o una bozza deve soddisfare i seguenti criteri:
- Il
threadId
richiesto deve essere specificato nelMessage
oDraft.Message
che fornisci con la richiesta. - Le intestazioni
References
eIn-Reply-To
devono essere impostate in conformità allo standard RFC 2822. - Le intestazioni
Subject
devono corrispondere.
Dai un'occhiata agli esempi di creazione di una bozza o di invio di un
messaggio. In entrambi i casi, devi semplicemente
aggiungere una chiave threadId
associata a un ID thread ai metadati di un messaggio, l'oggetto
message
.