Accéder aux propriétés d'identité des utilisateurs
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/25 (UTC).
[null,null,["Dernière mise à jour le 2025/07/25 (UTC)."],[[["\u003cp\u003eCommunity Connectors allow you to build data sources that can access the effective user's identity, enabling personalized data retrieval.\u003c/p\u003e\n"],["\u003cp\u003eDepending on the data source credentials, the effective user can be either the data source creator or the report viewer.\u003c/p\u003e\n"],["\u003cp\u003eYour connector can leverage the user's OAuth token to access Google services and APIs on their behalf for custom data integrations.\u003c/p\u003e\n"],["\u003cp\u003eYou can tailor the user experience by implementing custom access control and using the user's email address for identification.\u003c/p\u003e\n"]]],[],null,["# Access user identity properties\n\nUsers will use your Community Connector to create their own data sources. For\nthese data sources, your connector can access the effective user's identity.\nDepending on the [Data source credentials](https://support.google.com/looker-studio/answer/6371135), the effective user can be the data\nsource creator (Owner's credentials) or the report viewer (Viewer's\ncredentials).\n\nBenefits\n--------\n\n- You can access Google services and APIs on behalf of the user.\n- You can implement custom access control to ensure only relevant data is being displayed.\n- You can customize the user experience for the effective user.\n\nImplementation steps\n--------------------\n\n### Accessing the user OAuth token\n\nYour connector can access Google services and APIs on behalf of the user by\npassing the user's OAuth token. To access the effective user's OAuth token in\nyour connector, use `ScriptApp.getOAuthToken()`. See [getOAuthToken reference](/apps-script/reference/script/script-app#getoauthtoken).\nThis token will include the [Authorization scopes](/apps-script/concepts/scopes) included during the connector\nauthorization.\n\nFor most connectors, Apps Script automatically detects what scopes are needed by\nparsing and processing the script. You can [view the scopes](/apps-script/concepts/scopes#viewing_scopes) a connector uses at\nany time. You can also [set scopes explicitly](/apps-script/concepts/scopes#setting_explicit_scopes) in your [manifest](/apps-script/concepts/manifests) using URL\nstrings. If you want to access a Google service or API on behalf of the user,\ninclude that relevant scope in the manifest.\n\n### Accessing the user email address\n\nIn your code, you can identify the current effective user with\n`Session.getEffectiveUser().getEmail()`. See [getEffectiveUser reference](/apps-script/reference/base/session#getEffectiveUser).\nAdding this code will automatically add the\n`https://www.googleapis.com/auth/userinfo.email` authorization scope to your\nconnector.\n\nExample: Calling Google APIs with user OAuth token\n--------------------------------------------------\n\n- The [Google Fit connector](https://lookerstudio.google.com/datasources/create?connectorId=AKfycbwFrL1OLXR3wqfnxowGFF3w3D4eq-54vAwjxDWcWRjiZMxX7jhII_1Ddx6y76GDHrxIew) fetches data from the Google Fit API for the effective user. While calling the API, it passes the effective user's OAuth token. See [the source code](https://github.com/googledatastudio/community-connectors/blob/master/google-fit/src/GoogleFit.js#L245) for implementation details.\n- The [Firestore connector](https://github.com/googledatastudio/community-connectors/tree/master/firestore) uses the Cloud Resource Manager to get a list of projects for the effective user. This connector also passes the effective user's OAuth token. See [the source code](https://github.com/googledatastudio/community-connectors/blob/master/firestore/src/GoogleCloud.gs#L30) for implementation details.\n\nExample: `isAdminUser()` based on email address\n-----------------------------------------------\n\n- The [Chrome UX Connector](http://g.co/chromeuxdash) maintains a list of admin users. It uses `getEffectiveUser()` and compares the effective user against the list to determine whether the effective user is an admin or not. See [implementation of `getEffectiveUser`](https://github.com/googledatastudio/community-connectors/blob/master/chrome-ux-report/src/Code.js#L581)."]]