Bu belgede, Gmail API kullanılarak istemcilerin nasıl senkronize edileceği açıklanmaktadır.
Çoğu uygulama senaryosunda istemcinizin Gmail ile senkronize kalması önemlidir. İki senkronizasyon yöntemi vardır: tam senkronizasyon ve kısmi senkronizasyon. İstemciniz Gmail'e ilk kez bağlandığında ve bazı nadir durumlarda tam senkronizasyon gerekir. Müşteriniz yakın zamanda senkronize olduysa kısmi senkronizasyon, tam senkronizasyona kıyasla daha az yer kaplayan bir alternatiftir. Ayrıca, anlık bildirimleri kullanarak kısmi senkronizasyonu gerçek zamanlı ve yalnızca gerektiğinde tetikleyebilir, böylece gereksiz yoklamaları önleyebilirsiniz.
Tam senkronizasyon
Uygulamanız Gmail'e ilk kez bağlandığında veya kısmi senkronizasyon kullanılamadığında tam senkronizasyon yapmanız gerekir. Tam senkronizasyon işleminde uygulamanız, amacınız için gerekli olan en son iletileri veya ileti dizilerini alıp depolamalıdır. Örneğin, uygulamanızda son mesajların listesi gösteriliyorsa kullanıcının gösterilen ilk birkaç mesajın ötesine kaydırması durumunda duyarlı bir arayüz sağlamak için yeterli sayıda mesajı alıp önbelleğe almak isteyebilirsiniz.
Tam senkronizasyon gerçekleştirmek için aşağıdaki adımları uygulayın:
İleti kimliklerinin ilk sayfasını almak için
messages.listyöntemini çağırın.Liste isteği tarafından döndürülen iletilerin her biri için toplu istek oluşturun.
messages.getYöntem istekleriUygulamanız ileti içeriklerini gösteriyorsa uygulamanız bir iletiyi ilk kez aldığında
Formatdeğeriniformat=FULLveyaformat=RAWolarak ayarlamanız ve ek alma işlemlerini önlemek için sonuçları önbelleğe almanız gerekir. Daha önce önbelleğe alınmış bir mesajı alıyorsanız yalnızcalabelIdsdeğişebileceğinden yanıtın boyutunu küçültmek içinformat=MINIMALkullanmanız gerekir.Güncellemeleri önbelleğe alınmış sonuçlarınızla birleştirin. Uygulamanız, gelecekteki kısmi senkronizasyonlar için en son mesajın (
listyanıtındaki ilk mesaj)historyIddeğerini saklamalıdır.
Kısmi senkronizasyon
Uygulamanız yakın zamanda senkronize edildiyse isteğinizde belirtmeniz gereken startHistoryId sorgu parametresinden daha yeni olan tüm geçmiş kayıtlarını döndürmek için history.list yöntemini kullanarak kısmi senkronizasyon gerçekleştirebilirsiniz.
startHistoryId sorgu parametresi, son mesajın historyId olarak ayarlanmalıdır. Son mesajın historyId değerini almak için messages.get veya messages.list yöntemlerini kullanın. Değeri, gelecekte kullanmak üzere tam veya kısmi senkronizasyon sırasında da ayarlayabilirsiniz.
Döndürülen History nesnesi, sağlanan startHistoryId zamanından itibaren ileti kimliklerini ve her ileti için değişiklik türünü (ör. ileti eklendi veya etiketler değiştirildi) içerir.
Sınırlamalar
Geçmiş kayıtları genellikle en az bir hafta, çoğu zaman da daha uzun süre kullanılabilir. Ancak kayıtların kullanılabildiği süre önemli ölçüde daha kısa olabilir ve kayıtlar nadir durumlarda kullanılamayabilir.
İstemciniz tarafından sağlanan startHistoryId, kullanılabilir geçmiş kayıtları aralığının dışındaysa Gmail API, HTTP 404 hata yanıtı döndürür.
Bu durumda müşterinizin tam senkronizasyon gerçekleştirmesi gerekir.