Z tego dokumentu dowiesz się, jak synchronizować klientów za pomocą interfejsu 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. Pełna synchronizacja jest wymagana, gdy klient po raz pierwszy łączy się z Gmailem, oraz w niektórych innych rzadkich przypadkach. Jeśli klient został niedawno zsynchronizowany, synchronizacja częściowa jest lżejszą 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, co pozwala uniknąć niepotrzebnego sondowania.
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 aplikacja wyświetla listę ostatnich wiadomości, możesz pobrać i zapisać w pamięci podręcznej wystarczającą liczbę wiadomości, aby zapewnić responsywność interfejsu, gdy użytkownik przewinie listę poza pierwsze kilka wyświetlanych 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 wartość
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 zapisane w pamięci podręcznej wiadomości, użyj parametruformat=MINIMAL, aby zmniejszyć rozmiar odpowiedzi, ponieważ może się zmienić tylkolabelIds.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
, aby zwrócić wszystkie rekordy historii nowsze 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 dla 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, przez który dane są dostępne, może być jednak znacznie krótszy, a w rzadkich przypadkach dane mogą być niedostępne.
Jeśli startHistoryId dostarczony przez klienta wykracza poza dostępny zakres rekordów historii, interfejs Gmail API zwraca HTTP 404 odpowiedź z błędem.
W takim przypadku klient musi przeprowadzić pełną synchronizację.