Permintaan dan respons

Panduan ini memperkenalkan metode permintaan dan respons utama yang membentuk Google Dokumen API dan cara memperbarui dokumen dalam batch.

Anda dapat memanggil Google Docs API menggunakan permintaan HTTP, atau dengan menggunakan pemanggilan metode di library klien khusus bahasa. Keduanya pada dasarnya setara.

Google Docs API menampilkan respons HTTP, yang umumnya mencakup hasil dari pemanggilan permintaan. Saat menggunakan library klien untuk membuat permintaan, respons ditampilkan dengan cara yang spesifik per bahasa.

Metode permintaan

Docs API mendukung metode berikut:

  • documents.create: Buat dokumen Google Dokumen kosong.

  • documents.get: Menampilkan instance lengkap dari dokumen yang ditentukan. Anda dapat mem-parsing JSON yang ditampilkan untuk mengekstrak konten dokumen, pemformatan, dan fitur lainnya.

  • documents.batchUpdate: Mengirimkan daftar permintaan pengeditan untuk diterapkan secara atomik ke dokumen, dan menampilkan daftar hasil.

Metode documents.get dan documents.batchUpdate memerlukan documentId sebagai parameter untuk menentukan dokumen target. Metode documents.create menampilkan instance dokumen yang dibuat, yang dapat Anda gunakan untuk membaca documentId. Untuk mengetahui informasi selengkapnya tentang documentId, lihat ID Dokumen.

Perhatikan bahwa Anda tidak dapat menggunakan metode documents.get untuk mengambil dokumen yang dipublikasikan. Setelah dipublikasikan, dokumen publik menggunakan format URL yang berbeda. Upaya untuk menggunakan documentId baru URL dengan metode documents.get akan menampilkan respons kode status HTTP 404. Tidak ada metode untuk mengambil documentId asli dari URL yang dipublikasikan. Untuk mengatasi masalah ini, Anda dapat menggunakan Drive API untuk menyalin dokumen yang dipublikasikan ke dokumen bersama, lalu mengakses file ini. Untuk mengetahui informasi selengkapnya, lihat Menjadikan Google Dokumen, Spreadsheet, Slide, dan Formulir sebagai publik.

Pembaruan batch

Metode documents.batchUpdate menggunakan daftar objek request, yang masing-masing menentukan satu permintaan yang akan dilakukan. Misalnya, format paragraf lalu tambahkan gambar inline. Setiap permintaan divalidasi sebelum diterapkan dan permintaan diproses sesuai urutan kemunculannya dalam permintaan batch.

Semua permintaan dalam update batch diterapkan secara atomik. Artinya, jika ada permintaan yang tidak valid, seluruh update akan gagal dan tidak ada perubahan (yang berpotensi bergantung) yang diterapkan.

Beberapa metode documents.batchUpdate memberikan respons dengan informasi tentang permintaan yang diterapkan. Metode ini menampilkan isi respons yang berisi daftar objek response. Permintaan lain tidak perlu menampilkan informasi dan memunculkan balasan kosong. Objek dalam daftar respons menempati urutan indeks yang sama dengan permintaan yang sesuai.

Pola populer untuk membuat permintaan batch terlihat seperti ini:

requests = []
requests.append(first request)
requests.append(second request)
...

body = ... & requests & ...

...batchUpdate(body)

Lihat praktik terbaik permintaan batch untuk mengetahui detail lengkap tentang cara membuat batch panggilan Docs API dan dokumentasi referensi documents.batchUpdate untuk jenis permintaan dan respons.

Operasi update batch

Ada berbagai jenis permintaan update batch. Berikut perincian jenis permintaan, yang dikelompokkan ke dalam berbagai kategori.

Objek TAMBAHKAN / SISIPKAN PERBARUI / GANTI HAPUS
Teks InsertTextRequest ReplaceAllTextRequest
Gaya CreateParagraphBulletsRequest UpdateTextStyleRequest
UpdateParagraphStyleRequest
UpdateTableCellStyleRequest
UpdateTableRowStyleRequest
UpdateDocumentStyleRequest
UpdateSectionStyleRequest
DeleteParagraphBulletsRequest
Rentang Bernama CreateNamedRangeRequest ReplaceNamedRangeContentRequest DeleteNamedRangeRequest
DeleteContentRangeRequest
Gambar InsertInlineImageRequest ReplaceImageRequest
Tabel InsertTableRequest
InsertTableRowRequest
InsertTableColumnRequest
UpdateTableColumnPropertiesRequest
MergeTableCellsRequest
UnmergeTableCellsRequest
PinTableHeaderRowsRequest
DeleteTableRowRequest
DeleteTableColumnRequest
Objek halaman (termasuk header dan footer) InsertPageBreakRequest
CreateHeaderRequest
CreateFooterRequest
CreateFootnoteRequest
InsertSectionBreakRequest
DeletePositionedObjectRequest
DeleteHeaderRequest
DeleteFooterRequest