Z tego dokumentu dowiesz się, jak synchronizować klientów z interfejsem Gmail API.
Synchronizacja klienta z Gmailem jest ważna w większości scenariuszy aplikacji. Dostępne są 2 metody synchronizacji: pełna synchronizacja i częściowa synchronizacja. Przy pierwszym połączeniu klienta z Gmailem i w rzadkich przypadkach musisz przeprowadzić pełną synchronizację. Jeśli klient został niedawno zsynchronizowany, synchronizacja częściowa jest prostą alternatywą dla pełnej synchronizacji. Możesz też używać powiadomień push, aby wywoływać częściową synchronizację w czasie rzeczywistym i tylko wtedy, gdy jest to konieczne, unikając niepotrzebnego odpytywania.
Pełna synchronizacja
Gdy aplikacja po raz pierwszy łączy się z Gmailem lub gdy synchronizacja częściowa jest niedostępna, musisz przeprowadzić pełną synchronizację. Podczas pełnej synchronizacji aplikacja powinna pobrać i zapisać jak najwięcej najnowszych wiadomości lub wątków, które są potrzebne do jej działania. Jeśli na przykład Twoja aplikacja wyświetla listę ostatnich wiadomości, możesz pobrać i zapisać w pamięci podręcznej wystarczającą liczbę wiadomości, aby zapewnić responsywny interfejs, gdy użytkownik przewinie listę poza pierwsze kilka wyświetlonych wiadomości.
Aby przeprowadzić pełną synchronizację, wykonaj te czynności:
Aby pobrać pierwszą stronę identyfikatorów wiadomości, wywołaj metodę
messages.list.Utwórz żądanie zbiorcze składające się z
messages.getżądań metody dla każdego z komunikatów zwróconych przez żądanie listy.Jeśli Twoja aplikacja wyświetla treść wiadomości, ustaw parametr
formatnaformat=fulllubformat=rawprzy pierwszym pobraniu wiadomości przez aplikację i zapisz wyniki w pamięci podręcznej, aby uniknąć dodatkowych operacji pobierania. Jeśli pobierasz wcześniej zapisaną w pamięci podręcznej wiadomość, użyj parametruformat=minimal, aby zmniejszyć rozmiar odpowiedzi, ponieważ może się zmienić tylko parametrlabelIds.Scal aktualizacje z wynikami zapisanymi w pamięci podręcznej. Aplikacja powinna przechowywać
historyIdostatniej wiadomości (pierwszej wiadomości w odpowiedzilist) na potrzeby przyszłych synchronizacji częściowych.
Synchronizacja częściowa
Jeśli aplikacja była niedawno synchronizowana, możesz przeprowadzić synchronizację częściową za pomocą metody
history.list
w celu zwrócenia wszystkich rekordów historii nowszych niż parametr zapytania startHistoryId, który musisz podać w żądaniu.
Parametr zapytania startHistoryId musi być ustawiony na historyId ostatniej wiadomości. Aby pobrać historyId ostatniej wiadomości, użyj metod messages.get lub messages.list. Możesz też ustawić wartość podczas pełnej lub częściowej synchronizacji, aby użyć jej w przyszłości.
Zwrócony obiekt History zawiera identyfikatory wiadomości i typ zmiany każdej wiadomości, np. dodanie wiadomości lub zmiana etykiet, od czasu podanego w polu startHistoryId.
Ograniczenia
Zapisy historii są zwykle dostępne przez co najmniej tydzień, a często dłużej. Okres, w którym dostępne są rekordy, może być jednak znacznie krótszy, a w rzadkich przypadkach rekordy mogą być niedostępne.
Jeśli wartość startHistoryId podana przez klienta wykracza poza dostępny zakres rekordów historii, interfejs Gmail API zwraca odpowiedź z HTTP 404błędem. W takim przypadku klient musi przeprowadzić pełną synchronizację.