Com o serviço avançado do Documentos, é possível usar a API Google Docs no Apps Script. Assim como o serviço de Documentos integrado 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.
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 outros tipos de suporte, consulte o guia de suporte da API Docs.
Código de amostra
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 encontra e substitui pares de texto em todas as guias de um documento. Isso pode ser útil ao substituir marcadores de posição em uma cópia de um documento de modelo por valores de um banco de dados.
Inserir e estilizar texto
Este exemplo insere um novo texto no início da primeira guia no documento e
aplica um estilo com uma fonte e um tamanho específicos. Quando possível,
agrupe várias operações em uma única chamada batchUpdate
para
maior eficiência.
Leia o primeiro parágrafo
Este exemplo registra o texto do primeiro parágrafo da primeira guia no 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.
Não: chame batchUpdate
em um loop.
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
Docs.Documents.batchUpdate({
requests: [{
replaceAllText: ...
}]
}, docId);
}
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);