Les utilisateurs utiliseront votre connecteur de communauté pour créer leurs propres sources de données. Pour ces sources de données, le connecteur peut accéder à l'identité de l'utilisateur effectif. Selon les identifiants de la source de données, l'utilisateur effectif peut être le créateur de la source de données (identifiants du propriétaire) ou le lecteur du rapport (identifiants du lecteur).
Avantages
- Vous pouvez accéder aux services et aux API Google au nom de l'utilisateur.
- Vous pouvez implémenter un contrôle des accès personnalisé pour vous assurer que seules les données pertinentes sont affichées.
- Vous pouvez personnaliser l'expérience en fonction de l'utilisateur effectif.
Procédure d'implémentation
Accéder au jeton OAuth de l'utilisateur
Votre connecteur peut accéder aux services et aux API Google au nom de l'utilisateur en transmettant le jeton OAuth de l'utilisateur. Pour accéder au jeton OAuth de l'utilisateur effectif dans votre connecteur, utilisez ScriptApp.getOAuthToken()
. Consultez la documentation de référence de getOAuthToken.
Ce jeton inclura les champs d'application des autorisations inclus lors de l'autorisation du connecteur.
Pour la plupart des connecteurs, Apps Script détecte automatiquement les champs d'application nécessaires en analysant et en traitant le script. Vous pouvez à tout moment afficher les champs d'application utilisés par un connecteur. Vous pouvez également définir explicitement les champs d'application dans votre fichier manifeste à l'aide de chaînes d'URL. Si vous souhaitez accéder à un service ou à une API Google au nom de l'utilisateur, incluez ce champ d'application pertinent dans le fichier manifeste.
Accéder à l'adresse e-mail de l'utilisateur
Dans votre code, vous pouvez identifier l'utilisateur effectif actuel avec Session.getEffectiveUser().getEmail()
. Consultez la documentation de référence de getEffectiveUser.
L'ajout de ce code ajoute automatiquement le champ d'application d'autorisation https://www.googleapis.com/auth/userinfo.email
à votre connecteur.
Exemple: appel d'API Google avec le jeton OAuth d'utilisateur
- Le connecteur Google Fit récupère les données de l'API Google Fit pour l'utilisateur effectif. Lors de l'appel de l'API, elle transmet le jeton OAuth de l'utilisateur effectif. Consultez le code source pour en savoir plus sur l'implémentation.
- Le connecteur Firestore utilise Cloud Resource Manager pour obtenir la liste des projets de l'utilisateur effectif. Ce connecteur transmet également le jeton OAuth de l'utilisateur effectif. Pour en savoir plus sur la mise en œuvre, consultez le code source.
Exemple: isAdminUser()
d'après l'adresse e-mail
- Le connecteur d'expérience utilisateur Chrome fournit une liste d'administrateurs. Elle utilise
getEffectiveUser()
et compare l'utilisateur effectif à la liste pour déterminer s'il est administrateur ou non. Consultez la section Implémentation degetEffectiveUser
.