Mit dem erweiterten Docs-Dienst können Sie die Google Docs API in Apps Script verwenden. Ähnlich wie beim integrierten Docs-Dienst von Apps Script können mit dieser API Inhalte in Google Docs gelesen, bearbeitet und formatiert werden. In den meisten Fällen ist der integrierte Dienst einfacher zu verwenden, aber dieser erweiterte Dienst bietet einige zusätzliche Funktionen.
Referenz
Ausführliche Informationen zu diesem Dienst finden Sie in der Referenzdokumentation für die 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 Methodensignaturen ermitteln.
Wenn Sie Probleme melden oder weitere Unterstützung erhalten möchten, lesen Sie den 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 auf allen Tabs in einem Dokument gesucht und ersetzt. Das kann nützlich sein, wenn Sie Platzhalter in einer Kopie eines Vorlagendokuments durch Werte aus einer Datenbank ersetzen.
Text einfügen und formatieren
In diesem Beispiel wird neuer Text am Anfang des ersten Tabs im Dokument eingefügt und mit einer bestimmten Schriftart und ‑größe formatiert. Wenn möglich, sollten Sie mehrere Vorgänge in einem einzigen batchUpdate
-Aufruf zusammenfassen, um die Effizienz zu steigern.
Ersten Absatz lesen
In diesem Beispiel wird der Text des ersten Absatzes des ersten Tabs im Dokument protokolliert. Aufgrund der strukturierten Natur von Absätzen in der Docs API müssen dazu die Texte mehrerer Unterelemente kombiniert werden.
Best Practices
Batch-Updates
Wenn Sie den erweiterten Docs-Dienst verwenden, sollten Sie mehrere Anfragen in einem Array kombinieren, anstatt batchUpdate
in einer Schleife aufzurufen.
Nicht – Rufen Sie batchUpdate
nicht in einer Schleife auf.
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
Docs.Documents.batchUpdate({
requests: [{
replaceAllText: ...
}]
}, docId);
}
Do: 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);