El servicio avanzado de Documentos te permite usar la API de Documentos de Google 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 formatean 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.
Reference
Para obtener información detallada sobre este servicio, consulta la documentación de referencia de la API de Documentos. Como 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 encontrar otro tipo de asistencia, consulta la guía de asistencia de la API de Documentos.
Código de muestra
El siguiente código de muestra 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 este ejemplo, se buscan y reemplazan pares de texto en un documento. Esto puede ser útil cuando se reemplazan los marcadores de posición en una copia de un documento de plantilla por valores de una base de datos.
Cómo insertar texto y asignarle estilo
En esta muestra, se inserta texto nuevo al comienzo del documento y se diseñan estilos si tienen 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 aumentar la eficiencia.
Leer el primer párrafo
En esta muestra, se registra el texto del primer párrafo del documento. Debido a la naturaleza estructurada de los párrafos en la API de Documentos, esto implica combinar el texto de varios subelementos.
Prácticas recomendadas
Actualizaciones por lotes
Cuando uses el servicio avanzado de Documentos, combina varias solicitudes en un array en lugar de llamar a batchUpdate
en un bucle.
Lo que no debes hacer: 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);