L'API Gmail utilise des ressources Thread
pour regrouper les réponses aux e-mails avec leur message d'origine dans une même conversation ou un même fil de discussion. Cela vous permet de récupérer tous les messages d'une conversation, dans l'ordre, ce qui facilite la compréhension du contexte d'un message ou l'affinage des résultats de recherche.
Comme les messages, les fils de discussion peuvent également être associés à des libellés. Toutefois, contrairement aux messages, les fils de discussion ne peuvent pas être créés, mais uniquement supprimés. Toutefois, vous pouvez insérer des messages dans un fil de discussion.
Sommaire
Récupérer des threads
Les fils de discussion permettent de récupérer facilement les messages d'une conversation dans l'ordre.
En listant un ensemble de threads, vous pouvez choisir de regrouper les messages par conversation et fournir du contexte supplémentaire. Vous pouvez récupérer une liste de threads à l'aide de la méthode threads.list
ou récupérer un thread spécifique avec threads.get
. Vous pouvez également filtrer les fils de discussion à l'aide des mêmes paramètres de requête que pour la ressource Message
. Si un message d'un fil de discussion correspond à la requête, ce fil est renvoyé dans le résultat.
L'exemple de code ci-dessous montre comment utiliser les deux méthodes dans un exemple qui affiche les fils de discussion les plus actifs de votre boîte de réception. La méthode threads.list
récupère tous les ID de thread, puis threads.get
récupère tous les messages de chaque thread.
Pour les fils de discussion comportant au moins trois réponses, nous extrayons la ligne Subject
et affichons celles qui ne sont pas vides, ainsi que le nombre de messages dans le fil. Vous trouverez également cet exemple de code dans la vidéo DevByte correspondante.
Python
Ajouter des brouillons et des messages aux fils de discussion
Si vous envoyez ou migrez des messages qui sont une réponse à un autre e-mail ou qui font partie d'une conversation, votre application doit ajouter ce message au fil de discussion associé. Les utilisateurs Gmail qui participent à la conversation peuvent ainsi plus facilement conserver le message dans son contexte.
Un brouillon peut être ajouté à un thread lors de la création, de la mise à jour ou de l'envoi d'un message brouillon. Vous pouvez également ajouter un message à un fil de discussion lorsque vous insérez ou envoyez un message.
Pour faire partie d'un fil de discussion, un message ou un brouillon doit répondre aux critères suivants :
- Le
threadId
demandé doit être spécifié dans leMessage
ou leDraft.Message
que vous fournissez avec votre demande. - Les en-têtes
References
etIn-Reply-To
doivent être définis conformément à la norme RFC 2822. - Les en-têtes
Subject
doivent correspondre.
Consultez les exemples de création d'un brouillon ou d'envoi d'un message. Dans les deux cas, il vous suffit d'ajouter une clé threadId
associée à un ID de fil de discussion aux métadonnées d'un message, l'objet message
.