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 la section Détermination des signatures de méthode.
Pour signaler des problèmes et obtenir d'autres informations d'assistance, 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 lorsque vous remplacez des espaces réservés dans une copie d'un document de modèle par des valeurs provenant d'une base de données.
Insérer et mettre en forme du texte
Cet exemple insère du nouveau texte au début du premier onglet du document et lui donne un style 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 consigne 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 plutôt que d'appeler batchUpdate
dans une boucle.
Ne faites pas : appelez batchUpdate
dans une 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);