Los usuarios usarán el conector de comunidad para crear sus propias fuentes de datos. Para estas fuentes de datos, el conector puede acceder a la identidad del usuario vigente. Según las Credenciales de la fuente de datos, el usuario efectivo puede ser el creador de la fuente de datos (credenciales de propietario) o el lector de informes (credenciales de visualizador).
Beneficios
- Puedes acceder a los servicios y las APIs de Google en nombre del usuario.
- Puedes implementar el control de acceso personalizado para asegurarte de que solo se muestren los datos relevantes.
- Puedes personalizar la experiencia del usuario eficaz.
Pasos de implementación
Accede al token de OAuth del usuario
El conector puede acceder a los servicios y las APIs de Google en nombre del usuario pasando el token de OAuth del usuario. Para acceder al token de OAuth del usuario vigente en tu conector, usa ScriptApp.getOAuthToken()
. Consulta la referencia de getOAuthToken.
Este token incluirá los permisos de autorización incluidos durante la autorización del conector.
Para la mayoría de los conectores, Apps Script detecta automáticamente qué alcances se necesitan mediante el análisis y el procesamiento de la secuencia de comandos. Puedes ver los alcances que usa un conector en cualquier momento. También puedes establecer alcances de forma explícita en tu manifiesto mediante cadenas de URL. Si quieres acceder a un servicio o una API de Google en nombre del usuario, incluye el alcance relevante en el manifiesto.
Accede a la dirección de correo electrónico del usuario
En tu código, puedes identificar al usuario efectivo actual con Session.getEffectiveUser().getEmail()
. Consulta la referencia de getEffectiveUser.
Si agregas este código, se agregará automáticamente el alcance de autorización https://www.googleapis.com/auth/userinfo.email
a tu conector.
Ejemplo: Cómo llamar a las APIs de Google con el token OAuth del usuario
- El conector de Google Fit obtiene datos de la API de Google Fit para el usuario real. Mientras se llama a la API, se pasa el token de OAuth del usuario vigente. Consulta el código fuente para ver los detalles de la implementación.
- El conector de Firestore usa Cloud Resource Manager para obtener una lista de los proyectos del usuario efectivo. Este conector también pasa el token de OAuth del usuario vigente. Consulta el código fuente para conocer los detalles de la implementación.
Ejemplo: isAdminUser()
basado en la dirección de correo electrónico
- El conector de UX de Chrome mantiene una lista de usuarios administradores. Usa
getEffectiveUser()
y compara el usuario efectivo con la lista para determinar si es administrador o no. Consulta la implementación degetEffectiveUser
.