İstekler ve yanıtlar

Bu kılavuzda, Google Dokümanlar API'sini oluşturan temel istek ve yanıt yöntemleri ile bir dokümanı toplu olarak nasıl güncelleyebileceğiniz açıklanmaktadır.

Google Dokümanlar API'sini bir HTTP isteğiyle veya dile özgü bir istemci kitaplığında yöntem çağrısı kullanarak çağırabilirsiniz. Bunlar genel olarak eşdeğerdir.

Google Dokümanlar API'si, genellikle istek çağrısının sonucunu içeren bir HTTP yanıtı döndürür. İstek göndermek için istemci kitaplığı kullanıldığında yanıtlar dile özgü bir şekilde döndürülür.

İstek yöntemleri

Docs API aşağıdaki yöntemleri destekler:

  • documents.create: Boş bir Google Dokümanı oluşturun.

  • documents.get: Belirtilen belgenin eksiksiz bir örneğini döndürür. Belge içeriğini, biçimlendirmesini ve diğer özellikleri ayıklamak için döndürülen JSON'u ayrıştırabilirsiniz.

  • documents.batchUpdate: Belgeye atomik olarak uygulanacak düzenleme isteklerinin listesini gönderin ve sonuçların listesini döndürün.

documents.get ve documents.batchUpdate yöntemleri, hedef belgeyi belirtmek için parametre olarak documentId gerektirir. documents.create yöntemi, oluşturulan dokümanın bir örneğini döndürür. Bu örnekten documentId okunabilir. documentId hakkında daha fazla bilgi için Belge Kimliği başlıklı makaleyi inceleyin.

Yayınlanan dokümanları almak için documents.get yöntemini kullanamayacağınızı unutmayın. Yayınlandıktan sonra, herkese açık dokümanlar farklı bir URL biçimi kullanır. URL'nin yeni documentId öğesini documents.get yöntemiyle kullanma girişimleri, 404 HTTP durum kodu yanıtı döndürüyor. Yayınlanan URL'den orijinal documentId dosyasını almanın bir yolu yoktur. Bu sorunu gidermek için Drive API'yi kullanarak yayınlanan dokümanı kopyalayıp paylaşılan bir dokümana yapıştırabilir ve bu dosyaya erişebilirsiniz. Daha fazla bilgi için Google Dokümanlar, E-Tablolar, Slaytlar ve Formlar dosyalarını herkese açık hale getirme başlıklı makaleyi inceleyin.

Toplu güncellemeler

documents.batchUpdate yöntemi, her biri gerçekleştirilecek tek bir isteği belirten request nesnelerinin listesini alır. Örneğin, bir paragrafı biçimlendirin ve ardından satır içi resim ekleyin. Her istek uygulanmadan önce doğrulanır ve istekler, toplu istekte göründükleri sıraya göre işlenir.

Toplu güncellemedeki tüm istekler atomik olarak uygulanır. Yani, herhangi bir istek geçerli değilse güncellemenin tamamı başarısız olur ve (potansiyel olarak bağımlı) değişikliklerin hiçbiri uygulanmaz.

Bazı documents.batchUpdate yöntemleri, uygulanan isteklerle ilgili bilgiler içeren yanıtlar sağlar. Bu yöntemler, response nesnelerinin listesini içeren bir response body döndürür. Diğer isteklerin bilgi döndürmesi ve boş bir yanıt göstermesi gerekmez. Yanıt listesindeki nesneler, ilgili istekle aynı dizin sırasını kullanır.

Toplu istek oluşturmak için kullanılan popüler bir kalıp aşağıdaki gibidir:

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

body = ... & requests & ...

...batchUpdate(body)

Docs API çağrılarınızı nasıl toplu hale getireceğiniz ve istek ve yanıt türleriyle ilgili documents.batchUpdate referans belgeleri hakkında ayrıntılı bilgi için toplu isteklerle ilgili en iyi uygulamaları inceleyin.

Toplu güncelleme işlemleri

Çeşitli toplu güncelleme isteği türleri vardır. Aşağıda, farklı kategorilerde gruplandırılmış istek türlerinin dökümünü bulabilirsiniz.

Nesne EKLE GÜNCELLEME / DEĞİŞTİRME SİL
Metin InsertTextRequest ReplaceAllTextRequest
Stiller CreateParagraphBulletsRequest UpdateTextStyleRequest
UpdateParagraphStyleRequest
UpdateTableCellStyleRequest
UpdateTableRowStyleRequest
UpdateDocumentStyleRequest
UpdateSectionStyleRequest
DeleteParagraphBulletsRequest
Adlandırılmış aralıklar CreateNamedRangeRequest ReplaceNamedRangeContentRequest DeleteNamedRangeRequest
DeleteContentRangeRequest
Resimler InsertInlineImageRequest ReplaceImageRequest
Tablolar InsertTableRequest
InsertTableRowRequest
InsertTableColumnRequest
UpdateTableColumnPropertiesRequest
MergeTableCellsRequest
UnmergeTableCellsRequest
PinTableHeaderRowsRequest
DeleteTableRowRequest
DeleteTableColumnRequest
Sayfa nesneleri (üstbilgiler ve altbilgiler dahil) InsertPageBreakRequest
CreateHeaderRequest
CreateFooterRequest
CreateFootnoteRequest
InsertSectionBreakRequest
DeletePositionedObjectRequest
DeleteHeaderRequest
DeleteFooterRequest