Mit dem erweiterten Docs-Dienst können Sie die Google Docs API in Apps Script verwenden. Ähnlich wie der integrierte Docs-Dienst von Apps Script ermöglicht diese API Skripts das Lesen, Bearbeiten und Formatieren von Inhalten in Google Docs. In den meisten Fällen ist der integrierte Dienst einfacher zu verwenden. Dieser erweiterte Dienst bietet jedoch einige zusätzliche Funktionen.
Referenz
Ausführliche Informationen zu diesem Dienst finden Sie in der Referenzdokumentation zur Docs API. Wie alle erweiterten Dienste in Apps Script verwendet der erweiterte Docs-Dienst dieselben Objekte, Methoden und Parameter wie die öffentliche API. Weitere Informationen finden Sie unter So werden Methodensignaturen ermittelt.
Informationen zum Melden von Problemen und zur Suche nach weiterem Support finden Sie im Supportleitfaden für die Docs API.
Beispielcode
Im folgenden Beispielcode wird Version 1 der API verwendet.
Dokument erstellen
In diesem Beispiel wird ein neues Dokument erstellt.
Text suchen und ersetzen
In diesem Beispiel werden Textpaare in einem Dokument gesucht und ersetzt. Dies kann nützlich sein, wenn Platzhalter in einer Kopie eines Vorlagendokuments durch Werte aus einer Datenbank ersetzt werden.
Text einfügen und gestalten
In diesem Beispiel wird am Anfang des Dokuments neuer Text mit einer bestimmten Schriftart und Größe eingefügt. Aus Effizienzgründen sollten Sie nach Möglichkeit mehrere Vorgänge in einem einzigen batchUpdate
-Aufruf zusammenfassen.
Ersten Absatz lesen
In diesem Beispiel wird der Text des ersten Absatzes im Dokument protokolliert. Aufgrund der Struktur von Absätzen in der Docs API muss der Text mehrerer Unterelemente kombiniert werden.
Best Practices
Batch-Updates
Wenn Sie den erweiterten Google Docs-Dienst verwenden, können Sie mehrere Anfragen in einem Array zusammenfassen, anstatt batchUpdate
in einer Schleife aufzurufen.
Falsch: Rufen Sie batchUpdate
in einer Schleife auf.
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
Docs.Documents.batchUpdate({
requests: [{
replaceAllText: ...
}]
}, docId);
}
Richtig: Rufen Sie batchUpdate
mit einem Array von Updates auf.
var requests = [];
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
requests.push({ replaceAllText: ... });
}
Docs.Documents.batchUpdate({
requests: requests
}, docId);