Clients mit Gmail synchronisieren

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:

  1. Rufen Sie messages.list auf, um die erste Seite mit Nachrichten-IDs abzurufen.
  2. 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 Sie format=FULL oder format=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 Sie format=MINIMAL verwenden, um die Größe der Antwort zu verringern, da sich nur labelIds ändern kann.
  3. Führen Sie die Aktualisierungen in Ihre im Cache gespeicherten Ergebnisse ein. Ihre Anwendung sollte die historyId der letzten Nachricht (der ersten Nachricht in der list-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.