Les utilisateurs doivent autoriser les projets de script qui accèdent à leurs données ou qui agissent en leur nom. Lorsqu'un utilisateur exécute un script nécessitant une autorisation pour la première fois, l'interface utilisateur affiche une invite pour démarrer le flux d'autorisation.
Au cours de ce processus, l'interface utilisateur indique à l'utilisateur ce que le script souhaite être autorisé à effectuer. Par exemple, un script peut demander à lire les e-mails de l'utilisateur ou à 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 champs d'application dont vous avez besoin. Vous pouvez les afficher à tout moment. Vous pouvez également définir des champs d'application explicitement dans votre fichier manifeste à l'aide de chaînes d'URL. Il est parfois nécessaire de définir explicitement les 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 étroits possibles.
Au cours du flux d'autorisation, Apps Script présente à l'utilisateur une description lisible des champs d'application requis. Par exemple, si votre script a besoin d'un accès en lecture seule à vos feuilles de calcul, le fichier manifeste peut avoir le champ d'application https://www.googleapis.com/auth/spreadsheets.readonly
. Lors du flux d'autorisation, un script de ce champ d'application demande à l'utilisateur d'autoriser cette application à "Afficher vos feuilles de calcul Google".
Certains champs d'application incluent d'autres. Par exemple, si le champ d'application https://www.googleapis.com/auth/spreadsheets
est autorisé, l'accès en lecture et en écriture aux feuilles de calcul est autorisé.
Afficher les champs d'application
Vous pouvez afficher les champs d'application actuellement requis par votre projet de script en procédant comme suit:
- Ouvrez le projet de script.
- À gauche, cliquez sur Vue d'ensemble .
- Affichez les champs d'application sous Champs d'application OAuth du projet.
Définir des champs d'application explicites
Apps Script détermine automatiquement les champs d'application 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, mais pour les modules complémentaires publiés et les applications Web, vous devez exercer un contrôle plus direct sur les champs d'application.
Apps Script attribue parfois automatiquement des champs d'application très permissifs aux projets. Cela peut signifier que votre script demande à l'utilisateur plus que nécessaire, ce qui est une mauvaise pratique. Pour les scripts publiés, vous devez remplacer les champs d'application étendus par un ensemble plus limité couvrant les besoins du script.
Vous pouvez définir explicitement les champs d'application utilisés par votre projet de script en modifiant son fichier manifest. Le champ "oauthScopes
" de manifeste 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.
- À 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 niveau supérieur intitulé
oauthScopes
. Si elle n'est pas présente, 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 autorisent l'accès aux données utilisateur Google. Si votre projet de script utilise des champs d'application autorisant l'accès aux données utilisateur, il doit faire l'objet d'une validation de client OAuth avant de pouvoir être publié 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
- Service des API Google: Règles sur les données utilisateur
Champs d'application restreints
En plus des champs d'application sensibles, certains sont classés comme restreints et soumis à des règles supplémentaires qui contribuent à la protection des données utilisateur. Si vous prévoyez de 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 restreints avant d'essayer 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.