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.
Reference
Pour plus d'informations 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 Comment les signatures de méthode sont-elles déterminées ?
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 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 du texte et lui appliquer un style
Cet exemple insère du nouveau texte au début du document et des styles s'il utilise 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 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.
À éviter : appelez batchUpdate
dans une boucle.
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
Docs.Documents.batchUpdate({
requests: [{
replaceAllText: ...
}]
}, docId);
}
À faire : 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);