Le service Docs avancé vous permet d'utiliser l'API Google Docs dans Apps Script. Tout comme le service Docs intégré d'Apps Script, cette API permet aux scripts de lire, de modifier et de mettre en forme du contenu dans Google Docs. Dans la plupart des cas, le service intégré est plus facile à utiliser, mais ce service avancé offre quelques fonctionnalités supplémentaires.
Référence
Pour en savoir plus sur ce service, consultez la documentation de référence de l'API Docs. Comme tous les services avancés d'Apps Script, le service Docs avancé utilise les mêmes objets, méthodes et paramètres que l'API publique. Pour en savoir plus, consultez Déterminer les signatures de méthode.
Pour signaler des problèmes et obtenir de l'aide, consultez le guide d'assistance de l'API Docs.
Exemple de code
L'exemple de code ci-dessous utilise la version 1 de l'API.
Créer un document
Cet exemple crée un document.
Rechercher et remplacer du texte
Cet exemple recherche et remplace des paires de texte dans tous les onglets d'un document. Cela peut être utile pour remplacer les espaces réservés d'une copie d'un modèle de document par des valeurs issues d'une base de données.
Insérer et mettre en forme du texte
Cet exemple insère du texte au début du premier onglet du document et le met en forme avec une police et une taille spécifiques. Notez que, dans la mesure du possible, vous devez regrouper plusieurs opérations dans un seul appel batchUpdate
pour plus d'efficacité.
Lire le premier paragraphe
Cet exemple enregistre le texte du premier paragraphe du premier onglet du document. En raison de la nature structurée des paragraphes dans l'API Docs, cela implique de combiner le texte de plusieurs sous-éléments.
Bonnes pratiques
Mises à jour groupées
Lorsque vous utilisez le service Docs avancé, combinez plusieurs requêtes dans un tableau au lieu d'appeler batchUpdate
dans une boucle.
Don't : appelle batchUpdate
en boucle.
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
Docs.Documents.batchUpdate({
requests: [{
replaceAllText: ...
}]
}, docId);
}
Do : appelez batchUpdate
avec un tableau de mises à jour.
var requests = [];
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
requests.push({ replaceAllText: ... });
}
Docs.Documents.batchUpdate({
requests: requests
}, docId);