Il servizio avanzato Documenti consente di utilizzare l'API Google Docs in Apps Script. Proprio come il servizio Documenti integrato di Apps Script, questa API consente agli script di leggere, modificare e formattare i contenuti in Documenti Google. Nella maggior parte dei casi, il servizio integrato è più facile da utilizzare, ma questo servizio avanzato offre alcune funzionalità aggiuntive.
Riferimento
Per informazioni dettagliate su questo servizio, consulta la documentazione di riferimento per l'API Docs. Come tutti i servizi avanzati di Apps Script, il servizio avanzato di Documenti utilizza gli stessi oggetti, metodi e parametri dell'API pubblica. Per ulteriori informazioni, vedi Come vengono determinate le firme dei metodi.
Per segnalare problemi e trovare ulteriore supporto, consulta la guida di supporto dell'API Documenti.
Codice campione
Il codice di esempio riportato di seguito utilizza la versione 1 dell'API.
Crea documento
Questo esempio crea un nuovo documento.
Ricerca e sostituzione di testo
Questo esempio trova e sostituisce coppie di testo in un documento. Questo può essere utile quando sostituisci i segnaposto in una copia di un documento di modello con valori di un database.
Inserisci e applica uno stile al testo
Questo esempio inserisce un nuovo testo all'inizio del documento e applica stili, se associati a un carattere e a una dimensione specifici. Tieni presente che, quando possibile, devi raggruppare più operazioni in un'unica chiamata batchUpdate
per aumentare l'efficienza.
Leggi il primo paragrafo
Questo esempio registra il testo del primo paragrafo del documento. A causa della natura strutturata dei paragrafi nell'API Docs, ciò comporta la combinazione del testo di più elementi secondari.
Best practice
Aggiornamenti collettivi
Quando utilizzi il servizio avanzato Documenti, combina più richieste in un array anziché chiamare batchUpdate
in un loop.
Non: chiama batchUpdate
in loop.
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
Docs.Documents.batchUpdate({
requests: [{
replaceAllText: ...
}]
}, docId);
}
Azione: chiama batchUpdate
con un array di aggiornamenti.
var requests = [];
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
requests.push({ replaceAllText: ... });
}
Docs.Documents.batchUpdate({
requests: requests
}, docId);