Ada beberapa prinsip yang harus Anda ikuti saat menggunakan Google Docs API. Ini mencakup:
- Mengedit mundur untuk efisiensi
- Merencanakan kolaborasi
- Memastikan konsistensi status menggunakan kolom
WriteControl
- Pertimbangkan tab
Bagian berikut menjelaskan prinsip-prinsip ini.
Mengedit mundur untuk efisiensi
Dalam satu panggilan ke metode documents.batchUpdate
, urutkan permintaan Anda dalam urutan menurun lokasi indeks. Dengan demikian, Anda tidak perlu menghitung
perubahan indeks karena penyisipan dan penghapusan.
Rencanakan kolaborasi
Status dokumen akan berubah. Di antara satu panggilan metode dan panggilan metode lainnya, collaborator lain mungkin memperbarui dokumen, seperti yang ditunjukkan dalam diagram berikut:
Hal ini dapat menyebabkan error jika indeks Anda salah. Dengan beberapa pengguna mengedit dokumen menggunakan UI, Google Dokumen menangani hal ini secara transparan. Namun,
sebagai klien API, aplikasi Anda harus mengelolanya. 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 cara
penanganan perubahan yang bersaing menggunakan
kolom WriteControl
dalam metode documents.batchUpdate
. WriteControl
memberikan otorisasi
terhadap cara permintaan tulis dieksekusi.
Berikut cara menggunakannya:
- Dapatkan dokumen menggunakan metode
documents.get
dan simpanrevisionId
dari resourcedocuments
yang ditampilkan. - Tulis permintaan update Anda.
- Sertakan objek
WriteControl
opsional dengan salah satu dari dua opsi:- Kolom
requiredRevisionId
ditetapkan kerevisionId
dokumen tempat permintaan tulis diterapkan. Jika dokumen diubah sejak permintaan baca API, permintaan tulis tidak akan diproses dan akan menampilkan error. - Kolom
targetRevisionId
ditetapkan kerevisionId
dokumen tempat permintaan tulis diterapkan. Jika dokumen diubah sejak permintaan baca API, perubahan permintaan tulis akan diterapkan terhadap perubahan kolaborator. Hasil permintaan tulis menggabungkan perubahan permintaan tulis dan perubahan kolaborator ke dalam revisi dokumen yang baru. Server Dokumen bertanggung jawab untuk menggabungkan konten.
- Kolom
Untuk contoh cara membuat permintaan batch menggunakan WriteControl
, lihat contoh permintaan batch ini.
Pertimbangkan 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 untuk menerapkan setiap
Request
dalam metodedocuments.batchUpdate
. SetiapRequest
menyertakan cara untuk menentukan tab yang akan diupdate. Secara default, jika tab tidak ditentukan,Request
pada umumnya akan diterapkan ke tab pertama dalam dokumen. Lihat dokumentasiRequest
untuk mengetahui detailnya.