Ada beberapa prinsip yang harus Anda ikuti saat menggunakan Google Dokumen API. Ini mencakup:
- Mengedit secara terbalik untuk efisiensi
- Merencanakan kolaborasi
- Memastikan konsistensi status menggunakan kolom
WriteControl
- Mempertimbangkan tab
Bagian berikut menjelaskan prinsip-prinsip ini.
Mengedit secara terbalik untuk efisiensi
Dalam satu panggilan ke metode
documents.batchUpdate
, urutkan permintaan Anda dalam
urutan menurun lokasi indeks. Hal ini menghilangkan kebutuhan untuk menghitung perubahan indeks karena penyisipan dan penghapusan.
Merencanakan kolaborasi
Perkirakan status dokumen akan berubah. Di antara satu panggilan metode dan panggilan metode lainnya, kolaborator lain dapat memperbarui dokumen, seperti yang ditunjukkan dalam diagram berikut:
Hal ini dapat menyebabkan error jika indeks Anda salah. Dengan beberapa pengguna yang mengedit dokumen menggunakan UI, Google Dokumen akan menanganinya secara transparan. Namun,
sebagai klien API, aplikasi Anda harus mengelola hal ini. Meskipun Anda tidak mengantisipasi kolaborasi pada dokumen, penting untuk memprogram secara defensif dan memastikan status dokumen tetap konsisten. Untuk salah satu cara memastikan konsistensi, tinjau bagian WriteControl
.
Menetapkan konsistensi status dengan WriteControl
Saat membaca lalu memperbarui dokumen, Anda dapat mengontrol perilaku penanganan perubahan yang bersaing menggunakan kolom WriteControl
dalam metode documents.batchUpdate
. WriteControl
memberikan otoritas
atas cara permintaan tulis dieksekusi.
Berikut cara menggunakannya:
- Dapatkan dokumen menggunakan metode
documents.get
dan simpanrevisionId
dari resourcedocuments
yang ditampilkan. - Tulis permintaan pembaruan Anda.
- Sertakan objek
WriteControl
opsional dengan salah satu dari dua opsi:- Kolom
requiredRevisionId
ditetapkan kerevisionId
dari dokumen yang diterapkan permintaan penulisan. Jika dokumen diubah sejak permintaan baca API, permintaan tulis tidak diproses dan akan menampilkan error. - Kolom
targetRevisionId
ditetapkan kerevisionId
dokumen tempat permintaan tulis diterapkan. Jika dokumen diubah sejak permintaan baca API, perubahan permintaan tulis diterapkan terhadap perubahan kolaborator. Hasil permintaan penulisan menggabungkan perubahan permintaan penulisan dan perubahan kolaborator ke dalam revisi baru dokumen. Server Dokumen bertanggung jawab untuk menggabungkan konten.
- Kolom
Untuk contoh cara membuat permintaan batch menggunakan WriteControl
, lihat
contoh permintaan batch ini.
Mempertimbangkan tab
Satu dokumen dapat berisi beberapa tab, yang memerlukan penanganan khusus dalam permintaan API Anda.
Berikut hal yang perlu diingat:
- Tetapkan parameter
includeTabsContent
ketrue
dalam metodedocuments.get
untuk mengambil konten dari semua tab dalam dokumen. Secara default, tidak semua konten tab ditampilkan. - Tentukan ID tab yang akan diterapkan setiap
Request
di metodedocuments.batchUpdate
. SetiapRequest
mencakup cara untuk menentukan tab yang akan diterapkan update-nya. Secara default, jika tab tidak ditentukan,Request
akan diterapkan pada tab pertama dalam dokumen pada sebagian besar kasus. Lihat dokumentasiRequest
s untuk mengetahui detailnya.