L'API Gmail utilizza le risorse Thread
per raggruppare le risposte alle email con il messaggio originale in un'unica conversazione o un unico thread. In questo modo puoi recuperare tutti i messaggi di una conversazione in ordine,
facilitandoti la comprensione del contesto di un messaggio o la perfezione dei risultati di ricerca.
Come per i messaggi, anche ai thread possono essere applicate delle etichette. Tuttavia, a differenza dei messaggi, i thread non possono essere creati, ma solo eliminati. I messaggi possono però essere inseriti in un thread.
Sommario
Recupero dei thread
I thread consentono di recuperare in modo semplice 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 utilizzati per la
risorsa Message
. Se un messaggio di 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ù utilizzati nella posta in arrivo. Il metodo threads.list
recupera tutti gli ID thread, quindi threads.get
recupera tutti i messaggi di ogni thread.
Per quelli 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 stai inviando o eseguendo la migrazione di messaggi che sono una risposta a un'altra email o fanno parte di una conversazione, la tua applicazione deve aggiungerli al thread correlato. In questo modo, sarà più facile per gli utenti di Gmail che partecipano alla conversazione mantenere il messaggio nel contesto.
Una bozza può essere aggiunta a un thread nell'ambito della creazione, dell'aggiornamento o dell'invio di un messaggio. Puoi anche aggiungere un messaggio a un thread nell'ambito dell'inserimento o dell'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
fornito con la richiesta. - Le intestazioni
References
eIn-Reply-To
devono essere impostate in conformità con lo 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
accoppiata a un ID thread ai metadati di un messaggio, ovvero
all'oggetto message
.