O serviço avançado do Documentos permite usar a API Google Docs no Google Apps Script. Assim como o serviço integrado do Documentos do Apps Script, essa API permite que os scripts leiam, editem e formatem conteúdo no Google Docs. Na maioria dos casos, o serviço integrado é mais fácil de usar, mas esse serviço avançado oferece alguns recursos extras.
Esse é um serviço avançado que precisa ser ativado antes do uso. Siga o início rápido para instruções detalhadas sobre como começar.
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 mais informações, consulte Como as assinaturas de método são determinadas.
Para informar problemas e encontrar outras opções de suporte, consulte o guia de suporte da API Docs.
Exemplo de código
O exemplo de código a seguir usa a versão 1 da API.
Criar documento
Este exemplo cria um novo documento.
Localizar e substituir texto
Este exemplo encontra e substitui pares de texto em todas as guias de um documento. Isso pode ser útil ao substituir marcadores em uma cópia de um modelo de documento por valores de um banco de dados.
Inserir e estilizar texto
Este exemplo insere um novo texto no início da primeira guia do documento e o estiliza com uma fonte e um tamanho específicos. Sempre que possível, agrupe várias operações em uma única chamada batchUpdate para maior eficiência.
Ler o primeiro parágrafo
Este exemplo registra o texto do primeiro parágrafo da primeira guia do documento. Devido à natureza estruturada dos parágrafos na API Docs, isso envolve a combinação do 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.
Não faça isso: chame batchUpdate em um loop.
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
Docs.Documents.batchUpdate({
requests: [{
replaceAllText: ...
}]
}, docId);
}
Faça isso: 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);