O serviço avançado do Documentos permite que você use a API Google Docs no Apps Script. Assim como o serviço integrado do Documentos no Apps Script, essa API permite que os scripts leiam, editem e formatem conteúdo nos Documentos Google. Na maioria dos casos, o serviço integrado é mais fácil de usar, mas esse serviço avançado oferece alguns recursos extras.
Referência
Para informações detalhadas sobre esse serviço, consulte a documentação de referência da API Docs. Assim como todos os serviços avançados no Apps Script, o serviço avançado do Documentos usa os mesmos objetos, métodos e parâmetros que a API pública. Para saber mais, consulte Como as assinaturas de método são determinadas.
Para informar problemas e encontrar ajuda, consulte o guia de suporte da API Docs.
Exemplo de código
O exemplo de código abaixo usa a versão 1 da API.
Criar documento
Este exemplo cria um novo documento.
Localizar e substituir texto
Este exemplo localiza e substitui pares de texto em um documento. Isso pode ser útil ao substituir marcadores em uma cópia de um documento modelo por valores de um banco de dados.
Inserir e estilizar texto
Neste exemplo, vamos inserir um novo texto no início do documento e estilos se ele tiver
uma fonte e um tamanho específicos. Observe que, sempre que possível, é necessário agrupar várias operações em uma única chamada batchUpdate
para aumentar a eficiência.
Ler o primeiro parágrafo
Este exemplo registra o texto do primeiro parágrafo do documento. Devido à natureza estruturada dos parágrafos na API Docs, isso envolve combinar o texto de vários subelementos.
Práticas recomendadas
Atualizações em lote
Ao usar o serviço avançado do Documentos, combine várias solicitações em uma matriz
em vez de chamar batchUpdate
em um loop.
O que não fazer: chame batchUpdate
em um loop.
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
Docs.Documents.batchUpdate({
requests: [{
replaceAllText: ...
}]
}, docId);
}
O que fazer: chame batchUpdate
com uma matriz de atualizações.
var requests = [];
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
requests.push({ replaceAllText: ... });
}
Docs.Documents.batchUpdate({
requests: requests
}, docId);