Ich verwende die GMail-API in Python / Google App Engine. Ich habe eine Abfrage, die bestimmte Thread-IDs zurückgibt, und jetzt möchte ich die letzte Nachricht jedes Threads abrufen. Da die Ergebnisse nicht unbedingt nach Datum sortiert sind, frage ich mich, was wäre der effizienteste API-Aufruf dafür?
Basierend auf den folgenden Kommentaren habe ich die folgende Batch-Funktion eingerichtet:
%Vor%Dies führt dann get_items aus, das unter anderem folgende Logik ausführt, um herauszufinden, ob die letzte E-Mail in einem Thread ein gesendetes Element war.
%Vor%Dies scheint in den meisten Fällen zu funktionieren, es gibt jedoch Fälle, in denen "Element" wie oben erstellt zwei Nachrichten mit unterschiedlichen historyIds enthält. Ich bin mir nicht sicher, was das verursacht, und ich würde es gerne wissen, bevor ich nur einen Workaround dafür erstellt habe ...
Die Google Mail-API unterstützt jetzt das Feld internalDate
.
internalDate - Der interne Zeitstempel der Nachrichtenerzeugung (Epoche ms), die Reihenfolge im Posteingang bestimmt.
Die neueste Nachricht in einem Thread zu erhalten, ist nicht schwieriger als eine User.thread: get-Anfrage, nach der ID und internalDate der einzelnen Nachrichten fragen, und herausfinden, welche zuletzt erstellt wurde.
%Vor%Antwort:
%Vor%