Menyinkronkan klien dengan Gmail

Dokumen ini menjelaskan cara menyinkronkan klien menggunakan Gmail API.

Menjaga sinkronisasi klien Anda dengan Gmail penting untuk sebagian besar skenario aplikasi. Ada dua metode sinkronisasi: sinkronisasi penuh dan sinkronisasi sebagian. Sinkronisasi penuh diperlukan saat pertama kali klien Anda terhubung ke Gmail dan dalam beberapa skenario langka lainnya. Jika klien Anda baru-baru ini disinkronkan, sinkronisasi parsial adalah alternatif yang lebih ringan daripada 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 mungkin ingin mengambil dan menyimpan dalam cache cukup banyak pesan 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 isi pesan, Anda harus menyetel Format ke format=FULL atau format=RAW saat aplikasi Anda mengambil pesan untuk pertama kalinya dan menyimpan hasilnya dalam cache untuk menghindari operasi pengambilan tambahan. Jika mengambil pesan yang di-cache sebelumnya, Anda harus menggunakan format=MINIMAL untuk mengurangi ukuran respons karena hanya labelIds yang dapat berubah.

  3. Gabungkan pembaruan ke hasil yang di-cache. Aplikasi Anda harus menyimpan historyId dari 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 dari 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 data mungkin jauh lebih singkat dan data terkadang tidak tersedia dalam kasus yang jarang terjadi.

Jika startHistoryId yang diberikan oleh klien Anda berada di luar rentang data histori yang tersedia, Gmail API akan menampilkan respons error HTTP 404. Dalam hal ini, klien Anda harus melakukan sinkronisasi penuh.