Les utilisateurs doivent autoriser les projets de script qui accèdent à leurs données ou agissent en leur nom. Lorsqu'un utilisateur exécute un script nécessitant une autorisation pour la première fois, l'UI affiche une invite pour lancer le flux d'autorisation.
Au cours de ce flux, l'UI indique à l'utilisateur ce que le script souhaite faire. Par exemple, un script peut demander l'autorisation de lire les e-mails de l'utilisateur ou de créer des événements dans son agenda. Le projet de script définit ces autorisations individuelles en tant que champs d'application OAuth.
Pour la plupart des scripts, Apps Script détecte automatiquement les portées dont vous avez besoin. Vous pouvez afficher les portées utilisées par un script à tout moment. Vous pouvez également définir des champs d'application explicitement dans votre manifest à l'aide de chaînes d'URL. Il est parfois nécessaire de définir explicitement des champs d'application pour certaines applications telles que les modules complémentaires, car les applications publiées doivent toujours utiliser les champs d'application les plus restreints possible.
Au cours du flux d'autorisation, Apps Script présente à l'utilisateur des descriptions lisibles des champs d'application requis. Par exemple, si votre script a besoin d'un accès en lecture seule à vos feuilles de calcul, le champ d'application du fichier manifeste peut être https://www.googleapis.com/auth/spreadsheets.readonly
. Au cours du flux d'autorisation, un script avec cette habilitation demande à l'utilisateur d'autoriser cette application à "Afficher vos feuilles de calcul Google".
Certains champs d'application englobent d'autres. Par exemple, une fois autorisé, le champ d'application https://www.googleapis.com/auth/spreadsheets
autorise l'accès en lecture et en écriture aux feuilles de calcul.
Afficher les champs d'application
Pour afficher les champs d'application actuellement requis par votre projet de script, procédez comme suit :
- Ouvrez le projet de script.
- Sur la gauche, cliquez sur Vue d'ensemble .
- Consultez les champs d'application sous Champs d'application OAuth du projet.
Définir des champs d'application explicites
Apps Script détermine automatiquement les portées dont un script a besoin en analysant son code à la recherche d'appels de fonction qui en ont besoin. Pour la plupart des scripts, cela suffit et vous fait gagner du temps. Toutefois, pour les modules complémentaires publiés, les applications Web, les applications Google Chat et les appels à l'API Google Chat, vous devez exercer un contrôle plus direct sur les étendues.
Apps Script attribue parfois automatiquement aux projets des champs d'application très permissifs. Cela peut signifier que votre script demande à l'utilisateur plus que ce dont il a besoin, ce qui est une mauvaise pratique. Pour les scripts publiés, vous devez remplacer les champs d'application larges par un ensemble plus limité qui couvre les besoins du script et pas plus.
Vous pouvez définir explicitement les portées utilisées par votre projet de script en modifiant son fichier manifeste. Le champ de fichier manifeste oauthScopes
est un tableau de tous les champs d'application utilisés par le projet. Pour définir les champs d'application de votre projet, procédez comme suit:
- Ouvrez le projet de script.
- Sur la gauche, cliquez sur Paramètres du projet .
- Cochez la case Afficher le fichier manifeste "appsscript.json" dans l'éditeur.
- À gauche, cliquez sur Montage .
- À gauche, cliquez sur le fichier
appsscript.json
. - Recherchez le champ de premier niveau intitulé
oauthScopes
. Si ce n'est pas le cas, vous pouvez l'ajouter. - Le champ
oauthScopes
spécifie un tableau de chaînes. Pour définir les champs d'application utilisés par votre projet, remplacez le contenu de ce tableau par les champs d'application que vous souhaitez utiliser. Exemple :{ ... "oauthScopes": [ "https://www.googleapis.com/auth/spreadsheets.readonly", "https://www.googleapis.com/auth/userinfo.email" ], ... }
- En haut, cliquez sur (Enregistrer).
Validation OAuth
Certains champs d'application OAuth sont sensibles, car ils permettent d'accéder aux données utilisateur Google. Si votre projet de script utilise des champs d'application qui permettent d'accéder aux données utilisateur, il doit passer par la validation du client OAuth avant que vous puissiez le publier publiquement en tant qu'application Web ou module complémentaire. Pour en savoir plus, consultez les guides suivants :
- Validation du client OAuth pour Apps Script
- Applications non validées
- Questions fréquentes sur la validation OAuth
- Règles concernant les données utilisateur du service API Google
Champs d'application restreints
En plus des niveaux d'accès sensibles, certains sont classés comme restreints et soumis à des règles supplémentaires qui aident à protéger les données utilisateur. Si vous souhaitez publier une application Web ou un module complémentaire qui utilise un ou plusieurs champs d'application restreints, l'application doit respecter toutes les restrictions spécifiées avant de pouvoir être publiée.
Consultez la liste complète des champs d'application limités avant de tenter de publier. Si votre application en utilise une, vous devez respecter les exigences supplémentaires pour les champs d'application d'API spécifiques avant de la publier.