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:
- Rufen Sie
messages.list
auf, um die erste Seite der Nachrichten-IDs abzurufen. - 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 Nachrichtenabrufformat=FULL
oderformat=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 mitformat=MINIMAL
reduzieren, da sich nurlabelIds
ändern kann. - Führen Sie die Aktualisierungen mit den im Cache gespeicherten Ergebnissen zusammen. Ihre Anwendung sollte den
historyId
der neuesten Nachricht (die erste Nachricht in derlist
-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.