El servicio avanzado de Documentos te permite usar la API de Google Docs en Apps Script. Al igual que el servicio integrado de Documentos de Apps Script, esta API permite que las secuencias de comandos lean, editen y den formato al contenido en Documentos de Google. En la mayoría de los casos, el servicio integrado es más fácil de usar, pero este servicio avanzado proporciona algunas funciones adicionales.
Referencia
Para obtener información detallada sobre este servicio, consulta la documentación de referencia de la API de Docs. Al igual que todos los servicios avanzados de Apps Script, el servicio avanzado de Documentos usa los mismos objetos, métodos y parámetros que la API pública. Para obtener más información, consulta Cómo se determinan las firmas de métodos.
Para informar problemas y obtener más asistencia, consulta la guía de asistencia de la API de Docs.
Código de muestra
El siguiente código de ejemplo usa la versión 1 de la API.
Crear documento
En esta muestra, se crea un documento nuevo.
Cómo buscar y reemplazar texto
En esta muestra, se buscan y reemplazan pares de texto en todas las pestañas de un documento. Esto puede ser útil cuando se reemplazan marcadores de posición en una copia de un documento de plantilla con valores de una base de datos.
Cómo insertar y aplicar estilo al texto
En este ejemplo, se inserta texto nuevo al comienzo de la primera pestaña del documento y se le aplica un estilo con una fuente y un tamaño específicos. Ten en cuenta que, cuando sea posible, debes agrupar varias operaciones en una sola llamada a batchUpdate
para mayor eficiencia.
Leer el primer párrafo
En este ejemplo, se registra el texto del primer párrafo de la primera pestaña del documento. Debido a la naturaleza estructurada de los párrafos en la API de Docs, esto implica combinar el texto de varios subelementos.
Prácticas recomendadas
Actualizaciones por lotes
Cuando uses el servicio avanzado de Docs, combina varias solicitudes en un array en lugar de llamar a batchUpdate
en un bucle.
No: Llama a batchUpdate
en un bucle.
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
Docs.Documents.batchUpdate({
requests: [{
replaceAllText: ...
}]
}, docId);
}
Acción: Llama a batchUpdate
con un array de actualizaciones.
var requests = [];
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
requests.push({ replaceAllText: ... });
}
Docs.Documents.batchUpdate({
requests: requests
}, docId);