Menyinkronkan klien dengan Gmail

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:

  1. Panggil metode messages.list untuk mengambil halaman pertama ID pesan.

  2. Buat permintaan batch dari permintaan metode messages.get untuk setiap pesan yang ditampilkan oleh permintaan daftar.

    Jika aplikasi Anda menampilkan konten pesan, tetapkan parameter format ke format=full atau format=raw saat 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, gunakan format=minimal untuk mengurangi ukuran respons karena hanya labelIds yang mungkin berubah.

  3. Gabungkan pembaruan ke hasil yang di-cache. Aplikasi Anda harus menyimpan historyId pesan terbaru (pesan pertama dalam respons list) 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.