Lunettes

Les utilisateurs doivent autoriser les modules complémentaires et autres applications qui accèdent à leurs données ou agir en leur nom. Lorsqu'un utilisateur exécute un module complémentaire pour la première fois, la qui présente une invite d'autorisation pour lancer le flux d'autorisation.

Au cours de ce flux, l'invite indique à l'utilisateur ce que l'application souhaite l'autorisation de le faire. Par exemple, un module complémentaire peut avoir besoin d'une autorisation pour lire de l'utilisateur ou créer des événements dans son agenda. Script du module complémentaire Le projet définit ces autorisations individuelles en tant que champs d'application OAuth.

Vous déclarez les champs d'application dans votre fichier manifeste à l'aide de chaînes d'URL. Pendant le flux d'autorisation, Apps Script présente un description lisible par l'utilisateur du champ d'application. Par exemple, votre module complémentaire Google Workspace peut utiliser l'option "Lire le message actuel" d'accès, écrit dans votre fichier manifeste sous la forme https://www.googleapis.com/auth/gmail.addons.current.message.readonly Pendant flux d'autorisation, un module complémentaire avec ce niveau d'accès demande à l'utilisateur d'autoriser module complémentaire: Afficher vos e-mails lorsque le module complémentaire est en cours d'exécution.

Afficher les niveaux d'accès

Vous pouvez voir les niveaux d'accès actuellement requis par votre projet de script en effectuant la suivantes:

  1. Ouvrez le projet de script.
  2. Sur la gauche, cliquez sur Vue d'ensemble.
  3. Consultez les habilitations sous "Champs d'application OAuth du projet".

Vous pouvez également afficher les champs d'application actuels du projet de script dans le fichier manifeste du projet, sous l'oauthScopes , mais uniquement si vous avez défini ces champs d'application explicitement.

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 pour les appels de fonction qui les nécessitent. Pour la plupart des scripts, il s'agit et cela vous fait gagner du temps, mais pour les modules complémentaires déjà publiés, vous devez un contrôle plus direct sur les champs d'application.

Par exemple, Apps Script peut attribuer à un projet de script de module complémentaire une approche très permissive le champ d'application https://mail.google.com par défaut. Lorsqu'un utilisateur autorise un script projet avec ce niveau d'accès, un accès complet au compte Gmail de l'utilisateur Google Cloud. Pour les modules complémentaires publiés, vous devez remplacer ce champ d'application par un champ un ensemble limité qui couvre les besoins des modules complémentaires et rien plus.

Vous pouvez définir explicitement les niveaux d'accès utilisés par votre projet de script en modifiant son fichier manifeste. Le champ "manifest" oauthScopes est un tableau. de tous les champs d'application utilisés par le module complémentaire. Pour définir les champs d'application de votre projet, procédez comme suit : suivantes:

  1. Affichez les champs d'application actuellement utilisés par votre module complémentaire. Déterminer des modifications doivent être apportées, par exemple en utilisant un champ d’application plus restreint.
  2. Ouvrez le fichier manifeste du module complémentaire.
  3. Recherchez le champ de premier niveau intitulé oauthScopes. S'il n'est pas présent, vous pouvez l'ajouter.
  4. oauthScopes spécifie un tableau de chaînes. Pour définir les niveaux d'accès votre projet utilise, remplacez le contenu de ce tableau par les champs d'application que vous que vous souhaitez utiliser. Par exemple, pour un module complémentaire Google Workspace qui étend Gmail, vous pourriez disposer des éléments suivants:

    {
      ...
      "oauthScopes": [
        "https://www.googleapis.com/auth/gmail.addons.current.message.metadata",
        "https://www.googleapis.com/auth/userinfo.email"
      ],
      ...
    }
    
  5. Enregistrez les modifications apportées au fichier manifeste.

Validation OAuth

L'utilisation de certains champs d'application OAuth sensibles peut nécessiter que votre module complémentaire passe par Validation du client OAuth avant de pouvoir la publier. Pour en savoir plus, consultez les guides suivants :

Champs d'application restreints

Certains champs d'application sont restreints et soumis à des règles supplémentaires qui vous aident à protéger les données utilisateur. Si vous avez l'intention de publier un module complémentaire Gmail ou des éditeurs qui utilise un ou plusieurs niveaux d'accès restreints, le module complémentaire doit respecter tous les des restrictions avant de pouvoir la publier.

Consultez la liste complète des niveaux d'accès restreints. avant d'essayer de le publier. Si votre module complémentaire en utilise un, vous devez respecter avec le Exigences supplémentaires pour les champs d'application d'API spécifiques avant leur publication.

Champs d'application de l'agenda

Vous trouverez ci-dessous les champs d'application fréquemment utilisés pour les modules complémentaires Google Workspace qui étendent Google Agenda.

Champ d'application
Accéder aux métadonnées d'événement https://www.googleapis.com/auth/calendar.addons.execute

Obligatoire si le module complémentaire accède aux métadonnées d'événement d'agenda. Autorise pour accéder aux métadonnées de l'événement.

Lire les données d'événement générées par l'utilisateur https://www.googleapis.com/auth/calendar.addons.current.event.read

Obligatoire si le module complémentaire doit lire les données d'événement générées par l'utilisateur. Permet au module complémentaire d'accéder aux données d'événement générées par l'utilisateur. Ces données sont n'est disponible que si <ph type="x-smartling-placeholder"></ph> Champ manifeste addOns.calendar.eventAccess est défini sur READ ou READ_WRITE.

Écrire les données d'événement générées par l'utilisateur https://www.googleapis.com/auth/calendar.addons.current.event.write

Obligatoire si le module complémentaire doit écrire des données d'événement générées par l'utilisateur. Permet au module complémentaire de modifier les données d'événement générées par l'utilisateur. Ces données sont n'est disponible que si <ph type="x-smartling-placeholder"></ph> Champ manifeste addOns.calendar.eventAccess est défini sur WRITE ou READ_WRITE.

Champs d'application Drive

Vous trouverez ci-dessous les champs d'application fréquemment utilisés pour les modules complémentaires Google Workspace qui étendent Google Drive.

Champ d'application
Lire les métadonnées de l'élément sélectionné https://www.googleapis.com/auth/drive.addons.metadata.readonly

Obligatoire si le module complémentaire implémente une interface contextuelle déclenchée lorsque l'utilisateur sélectionne des éléments dans Drive. Autorise le module complémentaire à lire des métadonnées limitées sur les éléments d'un utilisateur sélectionné dans Google Drive. Les métadonnées sont limitées à l'identifiant de l'élément, le titre, le type MIME, l'URL de l'icône et si le module complémentaire est autorisé à accéder à l'élément.

Accès par fichier https://www.googleapis.com/auth/drive.file

Recommandé si le module complémentaire doit accéder à des fichiers Drive individuels . Accorde un accès par fichier aux fichiers créés ou ouverts par l'application à l'aide de le cours Advanced Drive d'assistance. Cela ne permet pas d'effectuer des actions similaires à l'aide de la propriété service Drive de base, . L'autorisation de fichiers est accordée par fichier et est est révoqué lorsque l'utilisateur annule l'autorisation de l'application.

Consultez le <ph type="x-smartling-placeholder"></ph> Exemple de demande d'accès aux fichiers sélectionnés.

Habilitations des modules complémentaires Gmail

Certains champs d'application ont été créés spécifiquement pour Modules complémentaires Google Workspace pour protéger les utilisateurs Gmail données. Vous devez ajouter explicitement ces champs d'application à votre fichier manifeste de module complémentaire, ainsi que tous les autres un module complémentaire.

Vous trouverez ci-dessous les champs d'application fréquemment utilisés pour les modules complémentaires Google Workspace qui étendent Gmail. ceux portant la mention Obligatoire doivent être ajoutés Fichier manifeste du module complémentaire Google Workspace si celui-ci étend Gmail

Veillez également à remplacer le champ d'application https://mail.google.com très large dans votre avec un ensemble plus restreint de champs d'application autorisant les interactions avec votre module complémentaire et rien de plus.

Champ d'application
Créer des brouillons https://www.googleapis.com/auth/gmail.addons.current.action.compose

Obligatoire si le module complémentaire utilise <ph type="x-smartling-placeholder"></ph> déclencheurs d'action de rédaction. Permet au module complémentaire de créer temporairement des brouillons de messages et réponses. Voir <ph type="x-smartling-placeholder"></ph> Rédiger des brouillons pour en savoir plus. ce champ d’application est également souvent utilisé avec <ph type="x-smartling-placeholder"></ph> actions de rédaction. Nécessite un jeton d'accès.

Lire les métadonnées des messages ouverts https://www.googleapis.com/auth/gmail.addons.current.message.metadata

Accorde un accès temporaire aux métadonnées du message ouvert (comme l'objet ou les destinataires). Ne permet pas de lire le contenu des messages et nécessite un jeton d'accès.

Obligatoire si le module complémentaire utilise des métadonnées dans l'action Compose déclencheurs. Pour <ph type="x-smartling-placeholder"></ph> actions de rédaction, ce champ d'application est requis si un déclencheur de rédaction a besoin d'accéder aux métadonnées. En pratique, ce champ d'application permet déclencher l'accès aux listes de destinataires (à, Cc et Cci) d'une réponse brouillon d'e-mail.

Lire le contenu des messages ouverts https://www.googleapis.com/auth/gmail.addons.current.message.action

Accorde l'accès au contenu du message ouvert lors d'une interaction de l'utilisateur comme lorsqu'un élément de menu supplémentaire est sélectionné. Nécessite un accès à partir d'un jeton d'accès.

Lire le contenu du fil de discussion ouvert https://www.googleapis.com/auth/gmail.addons.current.message.readonly

Accorde un accès temporaire aux métadonnées et au contenu du message ouvert. Accorde également l'accès au contenu des autres messages ouverts thread. Nécessite un jeton d'accès.

lire tous les contenus et métadonnées des messages ; https://www.googleapis.com/auth/gmail.readonly

Lire les métadonnées et le contenu des e-mails, y compris le message ouvert Obligatoire si vous avez besoin de lire des informations sur d'autres messages, tels que lorsqu'ils effectuent une requête de recherche ou lisent l'intégralité d'un fil de discussion.

Jetons d'accès

Pour protéger les données utilisateur, les champs d'application Gmail utilisés dans Les modules complémentaires Google Workspace n'autorisent un accès temporaire aux données utilisateur. Pour activer l'accès temporaire, vous devez appeler la méthode fonction GmailApp.setCurrentMessageAccessToken(accessToken) en utilisant un jeton d'accès comme argument. Vous devez obtenir un jeton d'accès objet d'événement d'action.

Voici un exemple de définition d'un jeton d'accès pour autoriser l'accès à les métadonnées d'un message. La seule portée nécessaire pour cet exemple est https://www.googleapis.com/auth/gmail.addons.current.message.metadata

function readSender(e) {
  var accessToken = e.gmail.accessToken;
  var messageId = e.gmail.messageId;

  // The following function enables short-lived access to the current
  // message in Gmail. Access to other Gmail messages or data isn't
  // permitted.
  GmailApp.setCurrentMessageAccessToken(accessToken);
  var mailMessage = GmailApp.getMessageById(messageId);
  return mailMessage.getFrom();
}

Champs d'application de l'éditeur

Vous trouverez ci-dessous les champs d'application fréquemment utilisés pour les modules complémentaires Google Workspace qui étendent Docs, Sheets, et Slides.

Champ d'application
Accès actuel aux fichiers Docs https://www.googleapis.com/auth/documents.currentonly

Obligatoire si le module complémentaire accède à l'API Apps Script Docs. Accorde un accès temporaire au contenu du document ouvert.

Accès actuel aux fichiers Sheets https://www.googleapis.com/auth/spreadsheets.currentonly

Obligatoire si le module complémentaire accède à l'API Apps Script Sheets. Accorde un accès temporaire au contenu de la feuille de calcul ouverte.

Accès actuel aux fichiers Slides https://www.googleapis.com/auth/presentations.currentonly

Obligatoire si le module complémentaire accède à l'API Apps Script Slides. Accorde un accès temporaire au contenu de la présentation ouverte.

Accès par fichier https://www.googleapis.com/auth/drive.file

Obligatoire pour que le module complémentaire utilise onFileScopeGrantedTrigger et si le module complémentaire accède à l'API Docs, Sheets, Slides ou Drive. Accorde un accès par fichier aux fichiers créés ou ouverts par l'application à l'aide de le cours Advanced Drive d'assistance. Cela ne permet pas d'effectuer des actions similaires à l'aide de la propriété service Drive de base, . L'autorisation de fichiers est accordée par fichier et est est révoqué lorsque l'utilisateur annule l'autorisation de l'application.

Autres champs d'application

Votre module complémentaire peut nécessiter des champs d'application supplémentaires s'il utilise d'autres services Apps Script. Dans la plupart des cas, vous pouvez laisser Apps Script détecter ces champs d'application et mettre à jour les le fichier manifeste automatiquement. Lorsque vous modifiez la liste des champs d'application de votre fichier manifeste, ne supprimez pas tous les champs d'application, sauf si vous les remplacez par une alternative plus appropriée, comme un champ d'application plus restreint.

Pour référence, voici une liste des champs d'application Apps Script souvent utilisés dans en association avec les modules complémentaires Google Workspace:

Champ d'application
Lire l'adresse e-mail de l'utilisateur https://www.googleapis.com/auth/userinfo.email

Permet au projet de lire l'adresse e-mail de l'utilisateur actuel.

Autoriser les appels vers des services externes https://www.googleapis.com/auth/script.external_request

Permet au projet de créer UrlFetch requêtes. Cela est également obligatoire si le projet utilise <ph type="x-smartling-placeholder"></ph> OAuth2 pour Apps Script.

Lire les paramètres régionaux et le fuseau horaire de l'utilisateur https://www.googleapis.com/auth/script.locale

Permet au projet de connaître les paramètres régionaux et le fuseau horaire de l'utilisateur actuel. Voir <ph type="x-smartling-placeholder"></ph> Accès aux paramètres régionaux et au fuseau horaire de l'utilisateur pour en savoir plus.

Créer des déclencheurs https://www.googleapis.com/auth/script.scriptapp

Permet au projet de créer <ph type="x-smartling-placeholder"></ph> déclencheurs.

Prévisualiser les liens tiers https://www.googleapis.com/auth/workspace.linkpreview

Obligatoire si le module complémentaire affiche un aperçu des liens d'un service tiers. Permet au projet d'afficher un lien dans une application Google Workspace lorsque l'utilisateur interagit avec elle. Pour en savoir plus, voir Prévisualiser les liens avec des chips intelligents

Créer des ressources tierces https://www.googleapis.com/auth/workspace.linkcreate

Obligatoire si le module complémentaire crée des ressources dans un service tiers. Permet au projet de lire les informations envoyées par les utilisateurs le formulaire de création de ressources insérer un lien vers la ressource dans une application Google Workspace. Pour en savoir plus, voir Créez des ressources tierces à partir du menu @.