Clients mit Gmail synchronisieren

Für die meisten Anwendungsfälle ist es wichtig, dass Ihr Client mit Gmail synchronisiert ist. Es gibt zwei Synchronisierungsszenarien: vollständige und 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 weniger ressourcenintensive Alternative zur vollständigen Synchronisierung. Sie können auch Push-Benachrichtigungen verwenden, um eine teilweise Synchronisierung in Echtzeit und nur bei Bedarf auszulösen und so unnötige Abfragen 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 Ihre Anwendung beispielsweise eine Liste der letzten Nachrichten anzeigt, sollten Sie genügend Nachrichten abrufen und im Cache speichern, damit eine responsive Benutzeroberfläche verfügbar ist, wenn der Nutzer über die ersten angezeigten Nachrichten hinausscrollt. So führen Sie eine vollständige Synchronisierung aus:

  1. Rufen Sie messages.list auf, um die erste Seite mit Nachrichten-IDs abzurufen.
  2. Erstellen Sie für jede der von der Listenanfrage zurückgegebenen Nachrichten eine Batchanfrage mit messages.get-Anfragen. Wenn Ihre Anwendung Nachrichteninhalte anzeigt, sollten Sie beim ersten Abrufen einer Nachricht 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 format=MINIMAL verwenden, um die Größe der Antwort zu reduzieren, da sich nur labelIds ändern kann.
  3. Fügen Sie die Updates in die im Cache gespeicherten Ergebnisse ein. Ihre Anwendung sollte die historyId der neuesten Nachricht (die erste Nachricht in der list-Antwort) für eine zukünftige teilweise Synchronisierung speichern.

Teilsynchronisierung

Wenn Ihre Anwendung vor Kurzem synchronisiert wurde, können Sie mit der Methode history.list eine teilweise Synchronisierung durchführen, um alle Verlaufsdaten zurückzugeben, die jünger als das in Ihrer Anfrage angegebene startHistoryId sind. Verlaufseinträge enthalten die Nachrichten-IDs und die Art der Änderung für jede Nachricht, z. B. ob eine Nachricht seit dem startHistoryId hinzugefügt, gelöscht oder Labels 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 Teilsynchronisierungsvorgänge anzugeben.

Beschränkungen

Verlaufsdaten sind in der Regel mindestens eine Woche und oft auch länger verfügbar. Der Zeitraum, für den Daten verfügbar sind, kann jedoch deutlich kürzer sein und in seltenen Fällen sind Daten möglicherweise nicht verfügbar. Wenn der vom Client angegebene startHistoryId außerhalb des verfügbaren Bereichs der Verlaufsdaten liegt, gibt die API eine HTTP 404-Fehlerantwort zurück. In diesem Fall muss Ihr Kunde eine vollständige Synchronisierung ausführen, wie im vorherigen Abschnitt beschrieben.