Die Synchronisierung Ihres Clients mit Gmail ist für die meisten Anwendungsszenarien wichtig. Es gibt zwei allgemeine Synchronisierungsszenarien: die vollständige Synchronisierung und die teilweise Synchronisierung. Eine vollständige Synchronisierung ist erforderlich, wenn Ihr Client zum ersten Mal eine Verbindung zu Gmail herstellt, und in einigen anderen seltenen Fällen. Wenn Ihr Client vor Kurzem synchronisiert wurde, ist die teilweise Synchronisierung eine ressourcenschonendere Alternative zur vollständigen Synchronisierung. Sie können auch Push-Benachrichtigungen verwenden, um die Teilsynchronisierung in Echtzeit und nur bei Bedarf auszulösen und so unnötiges Polling zu vermeiden.
Inhalt
Vollständige Synchronisierung
Wenn Ihre Anwendung zum ersten Mal eine Verbindung zu Gmail herstellt oder die teilweise Synchronisierung nicht verfügbar ist, müssen Sie eine vollständige Synchronisierung durchführen. Bei einer vollständigen Synchronisierung sollte Ihre Anwendung so viele der neuesten Nachrichten oder Threads abrufen und speichern, wie für Ihren Zweck erforderlich sind. Wenn in Ihrer Anwendung beispielsweise eine Liste der letzten Nachrichten angezeigt wird, sollten Sie genügend Nachrichten abrufen und im Cache speichern, um eine reaktionsschnelle Benutzeroberfläche zu ermöglichen, wenn der Nutzer über die ersten angezeigten Nachrichten hinaus scrollt. So führen Sie eine vollständige Synchronisierung durch:
- Rufen Sie
messages.list
auf, um die erste Seite mit Nachrichten-IDs abzurufen. - Erstellen Sie eine Batchanfrage mit
messages.get
-Anfragen für jede der von der Listenanfrage zurückgegebenen Nachrichten. Wenn in Ihrer Anwendung Nachrichteninhalte angezeigt werden, sollten Sieformat=FULL
oderformat=RAW
verwenden, wenn Ihre Anwendung zum ersten Mal eine Nachricht abruft, und die Ergebnisse im Cache speichern, um zusätzliche Abrufvorgänge zu vermeiden. Wenn Sie eine zuvor im Cache gespeicherte Nachricht abrufen, sollten Sieformat=MINIMAL
verwenden, um die Größe der Antwort zu verringern, da sich nurlabelIds
ändern kann. - Führen Sie die Aktualisierungen in Ihre im Cache gespeicherten Ergebnisse ein. Ihre Anwendung sollte die
historyId
der letzten Nachricht (der ersten Nachricht in derlist
-Antwort) für die zukünftige teilweise Synchronisierung speichern.
Teilsynchronisierung
Wenn Ihre Anwendung vor Kurzem synchronisiert wurde, können Sie eine teilweise Synchronisierung mit der Methode history.list
durchführen, um alle Verlaufsdatensätze zurückzugeben, die neuer als der in Ihrer Anfrage angegebene startHistoryId
sind. Verlaufsdatensätze enthalten Nachrichten-IDs und den Änderungstyp für jede Nachricht, z. B. Nachricht hinzugefügt, gelöscht oder Labels seit dem Zeitpunkt der startHistoryId
geändert. Sie können die historyId
der letzten Nachricht aus einer vollständigen oder teilweisen Synchronisierung abrufen und speichern, um sie als startHistoryId
für zukünftige teilweise Synchronisierungsvorgänge bereitzustellen.
Beschränkungen
Verlaufsaufzeichnungen sind in der Regel mindestens eine Woche lang und oft auch länger verfügbar. Der Zeitraum, für den Aufzeichnungen verfügbar sind, kann jedoch deutlich kürzer sein. In seltenen Fällen sind Aufzeichnungen möglicherweise nicht verfügbar. Wenn der von Ihrem Client bereitgestellte startHistoryId
außerhalb des verfügbaren Bereichs von Verlaufsdatensätzen liegt, gibt die API eine HTTP 404
-Fehlerantwort zurück. In diesem Fall muss Ihr Client eine vollständige Synchronisierung durchführen, wie im vorherigen Abschnitt beschrieben.