Clients mit Gmail synchronisieren

Die Synchronisierung Ihres Clients mit Gmail ist für die meisten Anwendungsszenarien wichtig. Es gibt zwei Szenarien für die vollständige Synchronisierung: eine vollständige und eine teilweise Synchronisierung. Die vollständige Synchronisierung ist erforderlich, wenn Ihr Client zum ersten Mal eine Verbindung zu Gmail herstellt, und in einigen anderen seltenen Szenarien. Wenn Ihr Client kürzlich synchronisiert wurde, ist die teilweise Synchronisierung eine einfachere Alternative zu einer vollständigen Synchronisierung. Sie können auch Push-Benachrichtigungen verwenden, um eine teilweise Synchronisierung in Echtzeit und nur bei Bedarf auszulösen, um unnötige Abfragen zu vermeiden.

Inhalt

Vollständige Synchronisierung

Wenn Ihre Anwendung zum ersten Mal eine Verbindung zu Gmail herstellt oder keine teilweise Synchronisierung verfügbar ist, müssen Sie eine vollständige Synchronisierung ausfü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 Ihre Anwendung beispielsweise eine Liste aktueller Nachrichten anzeigt, möchten Sie möglicherweise genügend Nachrichten abrufen und im Cache speichern, um eine responsive Oberflä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 der Nachrichten-IDs abzurufen.
  2. Erstellen Sie für jede von der Listenanfrage zurückgegebene Nachricht eine Batchanfrage von messages.get-Anfragen. Wenn Ihre Anwendung Nachrichteninhalte anzeigt, sollten Sie beim ersten Nachrichtenabruf format=FULL oder format=RAW verwenden und die Ergebnisse im Cache speichern, um zusätzliche Abrufvorgänge zu vermeiden. Wenn Sie eine zuvor im Cache gespeicherte Nachricht abrufen, sollten Sie die Größe der Antwort mit format=MINIMAL reduzieren, da sich nur labelIds ändern kann.
  3. Führen Sie die Aktualisierungen mit den im Cache gespeicherten Ergebnissen zusammen. Ihre Anwendung sollte den historyId der neuesten Nachricht (die erste Nachricht in der list-Antwort) für eine zukünftige teilweise Synchronisierung speichern.

Teilweise Synchronisierung

Wenn Ihre Anwendung kürzlich synchronisiert wurde, können Sie mit der Methode history.list eine Teilsynchronisierung durchführen, um alle Verlaufseinträge zurückzugeben, die neuer als die in der Anfrage angegebene startHistoryId sind. Verlaufseinträge enthalten Nachrichten-IDs und die Art der Änderung für jede Nachricht, z. B. hinzugefügte oder gelöschte Nachrichten oder Labels, die seit startHistoryId geändert wurden. Sie können die historyId der neuesten 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

Verlaufseinträge sind in der Regel mindestens eine Woche und oft auch länger verfügbar. Allerdings kann der Zeitraum, für den Datensätze verfügbar sind, deutlich kürzer sein und Datensätze können in seltenen Fällen manchmal nicht verfügbar sein. Wenn der von Ihrem Client bereitgestellte startHistoryId außerhalb des verfügbaren Bereichs der Verlaufseinträge liegt, gibt die API die Fehlerantwort HTTP 404 zurück. In diesem Fall muss Ihr Client eine vollständige Synchronisierung wie im vorherigen Abschnitt beschrieben durchführen.