Zaawansowana usługa Dokumentów umożliwia korzystanie z interfejsu Google Docs API w Apps Script. Podobnie jak wbudowana usługa Dokumentów w Apps Script ten interfejs API umożliwia skryptom odczytywanie, edytowanie i formatowanie treści w Dokumentach Google. W większości przypadków usługa wbudowana jest łatwiejsza w użyciu, ale ta usługa zaawansowana zapewnia kilka dodatkowych funkcji.
Dokumentacja
Szczegółowe informacje o tej usłudze znajdziesz w dokumentacji referencyjnej interfejsu Docs API. Podobnie jak wszystkie usługi zaawansowane w Apps Script, zaawansowana usługa Dokumentów korzysta z tych samych obiektów, metod i parametrów co publiczny interfejs API. Więcej informacji znajdziesz w artykule Jak określane są sygnatury metod.
Aby zgłosić problemy i uzyskać inną pomoc, zapoznaj się z przewodnikiem pomocy dotyczącym interfejsu Docs API.
Przykładowy kod
Poniższy przykładowy kod korzysta z wersji 1 interfejsu API.
Utwórz dokument
Ten przykład tworzy nowy dokument.
Znajdowanie i zastępowanie tekstu
Ten przykład znajduje i zastępuje pary tekstu na wszystkich kartach w dokumencie. Może to być przydatne podczas zastępowania zmiennych w kopii dokumentu szablonu wartościami z bazy danych.
Wstawianie i formatowanie tekstu
Ten przykład wstawia nowy tekst na początku pierwszej karty w dokumencie i
formatuje go za pomocą określonej czcionki i rozmiaru. Pamiętaj, że w miarę możliwości należy łączyć wiele operacji w jedno wywołanie batchUpdate
, aby zwiększyć wydajność.
Przeczytaj pierwszy akapit
Ten przykład rejestruje tekst pierwszego akapitu pierwszej karty w dokumencie. Ze względu na uporządkowaną strukturę akapitów w interfejsie Docs API wymaga to połączenia tekstu z wielu elementów podrzędnych.
Sprawdzone metody
Aktualizacje zbiorcze
Jeśli korzystasz z zaawansowanej usługi Dokumenty, łącz wiele żądań w tablicę zamiast wywoływać batchUpdate
w pętli.
Nie – wywołuje funkcję batchUpdate
w pętli.
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
Docs.Documents.batchUpdate({
requests: [{
replaceAllText: ...
}]
}, docId);
}
Do – wywołaj batchUpdate
z tablicą aktualizacji.
var requests = [];
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
requests.push({ replaceAllText: ... });
}
Docs.Documents.batchUpdate({
requests: requests
}, docId);