Gelişmiş Dokümanlar hizmeti, Apps Komut Dosyası'nda Google Dokümanlar API'yi kullanmanıza olanak tanır. Apps Komut Dosyası'nın yerleşik Dokümanlar hizmetine benzer şekilde bu API, komut dosyalarının Google Dokümanlar'daki içeriği okumasına, düzenlemesine ve biçimlendirmesine olanak tanır. Çoğu durumda yerleşik hizmet daha kolay kullanılır ancak bu gelişmiş hizmet birkaç ek özellik sunar.
Referans
Bu hizmet hakkında ayrıntılı bilgi için Dokümanlar API'nin referans dokümanlarına bakın. Apps Komut Dosyası'ndaki tüm gelişmiş hizmetler gibi gelişmiş Dokümanlar hizmeti de herkese açık API ile aynı nesneleri, yöntemleri ve parametreleri kullanır. Daha fazla bilgi için Metod imzaları nasıl belirlenir? başlıklı makaleyi inceleyin.
Sorunları bildirmek ve başka destek almak için Docs API destek kılavuzuna bakın.
Örnek kod
Aşağıdaki örnek kodda API'nin 1. sürümü kullanılmaktadır.
Doküman oluşturma
Bu örnekte yeni bir doküman oluşturulur.
Metin bulma ve değiştirme
Bu örnekte, bir dokümandaki tüm sekmelerdeki metin çiftleri bulunur ve değiştirilir. Bu, bir şablon belgesinin kopyasındaki yer tutucuları veritabanındaki değerlerle değiştirirken faydalı olabilir.
Metin ekleme ve biçimlendirme
Bu örnek, dokümandaki ilk sekmenin başına yeni metin ekler ve metni belirli bir yazı tipi ve boyutla biçimlendirir. Mümkün olduğunda verimlilik için birden fazla işlemi tek bir batchUpdate
çağrısında toplu olarak göndermeniz gerektiğini unutmayın.
İlk paragrafı okuma
Bu örnekte, dokümandaki ilk sekmenin ilk paragrafının metni günlüğe kaydedilir. Docs API'deki paragrafların yapısal yapısı nedeniyle bu işlem, birden fazla alt öğenin metnini birleştirmeyi içerir.
En İyi Uygulamalar
Toplu Güncellemeler
Gelişmiş Dokümanlar hizmetini kullanırken batchUpdate
işlevini döngüde çağırmak yerine birden fazla isteği bir dizi içinde birleştirin.
Yapılmasın: batchUpdate
işlevini döngü içinde çağırmayın.
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
Docs.Documents.batchUpdate({
requests: [{
replaceAllText: ...
}]
}, docId);
}
Yap: batchUpdate
işlevini bir güncelleme dizisiyle çağırın.
var requests = [];
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
requests.push({ replaceAllText: ... });
}
Docs.Documents.batchUpdate({
requests: requests
}, docId);