Dokumen ini menjelaskan cara menyinkronkan klien dengan Gmail API.
Menjaga sinkronisasi klien Anda dengan Gmail penting untuk sebagian besar skenario aplikasi. Ada dua metode sinkronisasi: sinkronisasi penuh dan sinkronisasi sebagian. Anda harus melakukan sinkronisasi penuh saat klien Anda terhubung ke Gmail untuk pertama kalinya dan dalam skenario yang jarang terjadi. Jika klien Anda baru-baru ini disinkronkan, sinkronisasi parsial adalah alternatif ringan untuk sinkronisasi penuh. Anda juga dapat menggunakan notifikasi push untuk memicu sinkronisasi parsial secara real time dan hanya jika diperlukan, sehingga menghindari polling yang tidak perlu.
Sinkronisasi penuh
Saat aplikasi Anda terhubung ke Gmail untuk pertama kalinya, atau jika sinkronisasi parsial tidak tersedia, Anda harus melakukan sinkronisasi penuh. Dalam operasi sinkronisasi penuh, aplikasi Anda harus mengambil dan menyimpan sebanyak mungkin pesan atau rangkaian pesan terbaru yang diperlukan untuk tujuan Anda. Misalnya, jika aplikasi Anda menampilkan daftar pesan terbaru, Anda dapat mengambil dan menyimpan dalam cache pesan yang cukup untuk memungkinkan antarmuka yang responsif jika pengguna men-scroll melewati beberapa pesan pertama yang ditampilkan.
Ikuti langkah-langkah berikut untuk melakukan sinkronisasi penuh:
Panggil metode
messages.listuntuk mengambil halaman pertama ID pesan.Buat permintaan batch dari permintaan metode
messages.getuntuk setiap pesan yang ditampilkan oleh permintaan daftar.Jika aplikasi Anda menampilkan konten pesan, tetapkan parameter
formatkeformat=fullatauformat=rawsaat aplikasi Anda mengambil pesan untuk pertama kalinya dan simpan hasilnya dalam cache untuk menghindari operasi pengambilan tambahan. Jika Anda mengambil pesan yang di-cache sebelumnya, gunakanformat=minimaluntuk mengurangi ukuran respons karena hanyalabelIdsyang mungkin berubah.Gabungkan pembaruan ke hasil yang di-cache. Aplikasi Anda harus menyimpan
historyIdpesan terbaru (pesan pertama dalam responslist) untuk sinkronisasi parsial di masa mendatang.
Sinkronisasi sebagian
Jika aplikasi Anda baru-baru ini disinkronkan, Anda dapat melakukan sinkronisasi sebagian menggunakan metode
history.list
untuk menampilkan semua catatan histori yang lebih baru daripada parameter kueri startHistoryId yang harus Anda tentukan dalam permintaan.
Parameter kueri startHistoryId harus disetel ke historyId pesan terbaru. Untuk mengambil historyId pesan terbaru, gunakan metode
messages.get atau
messages.list. Anda juga dapat menetapkan nilai selama sinkronisasi penuh atau sebagian untuk penggunaan di masa mendatang.
Objek
History
yang ditampilkan mencakup ID pesan dan jenis perubahan untuk setiap pesan, seperti
pesan ditambahkan atau label diubah, sejak waktu
startHistoryId yang diberikan.
Batasan
Catatan histori biasanya tersedia setidaknya selama satu minggu dan sering kali lebih lama. Namun, jangka waktu ketersediaan catatan mungkin jauh lebih singkat, dan catatan mungkin tidak tersedia dalam kasus yang jarang terjadi.
Jika startHistoryId yang diberikan oleh klien Anda berada di luar rentang catatan histori yang tersedia, Gmail API akan menampilkan respons error HTTP 404. Dalam hal ini, klien Anda harus melakukan sinkronisasi penuh.