Скрипт для чтения, редактирования и форматирования контента в Google Docs с дополнительными функциями.
Расширенная служба Google Docs позволяет использовать API Google Docs в Google Apps Script. Подобно встроенной службе Google Docs в Apps Script, этот API позволяет скриптам читать, редактировать и форматировать контент в Google Docs. В большинстве случаев встроенная служба проще в использовании, но эта расширенная служба предоставляет несколько дополнительных функций.
Это расширенная услуга, которую необходимо активировать перед использованием . Следуйте инструкциям в кратком руководстве , чтобы начать работу.
Ссылка
Подробную информацию об этом сервисе см. в справочной документации по API Docs. Как и все расширенные сервисы в Apps Script, расширенный сервис Docs использует те же объекты, методы и параметры, что и публичный API. Дополнительную информацию см. в разделе «Как определяются сигнатуры методов» .
Чтобы сообщить о проблемах и получить другую поддержку, см. руководство по поддержке API в документации .
Пример кода
В приведенном ниже примере кода используется версия 1 API.
Создать документ
Этот пример создает новый документ.
Найти и заменить текст
Этот пример находит и заменяет пары текста на всех вкладках документа. Это может быть полезно при замене заполнителей в копии шаблонного документа значениями из базы данных.
Вставка и оформление текста
В этом примере новый текст вставляется в начало первой вкладки документа и оформляется с использованием определенного шрифта и размера. Обратите внимание, что для повышения эффективности следует объединять несколько операций в один вызов batchUpdate .
Прочитайте первый абзац.
В этом примере записывается текст первого абзаца первой вкладки документа. Из-за структурированного характера абзацев в API Docs это включает в себя объединение текста нескольких подэлементов.
Передовые методы
Пакетные обновления
При использовании расширенного сервиса Docs объединяйте несколько запросов в массив, а не вызывайте batchUpdate в цикле.
Не следует вызывать batchUpdate в цикле.
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
Docs.Documents.batchUpdate({
requests: [{
replaceAllText: ...
}]
}, docId);
}
Выполнить — Вызвать batchUpdate с массивом обновлений.
var requests = [];
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
requests.push({ replaceAllText: ... });
}
Docs.Documents.batchUpdate({
requests: requests
}, docId);