Gli utenti utilizzeranno il connettore della community per creare le proprie origini dati. Per queste origini dati, il connettore può accedere all'identità dell'utente effettivo. A seconda delle credenziali per origine dati, l'utente effettivo può essere l'autore dell'origine dati (credenziali del proprietario) o il visualizzatore del report (credenziali del visualizzatore).
Vantaggi
- Puoi accedere ai servizi e alle API Google per conto dell'utente.
- Puoi implementare un controllo dell'accesso personalizzato per assicurarti che vengano visualizzati solo i dati pertinenti.
- Puoi personalizzare l'esperienza utente per l'utente in questione.
Procedura di implementazione
Accesso al token OAuth dell'utente
Il connettore può accedere ai servizi e alle API Google per conto dell'utente
passando il token OAuth dell'utente. Per accedere al token OAuth dell'utente effettivo
nel connettore, utilizza ScriptApp.getOAuthToken()
. Consulta il riferimento getOAuthToken.
Questo token includerà gli ambiti di autorizzazione inclusi durante l'autorizzazione
del connettore.
Per la maggior parte dei connettori, Apps Script rileva automaticamente gli ambiti necessari analizzando ed elaborando lo script. Puoi visualizzare gli ambiti utilizzati da un connettore in qualsiasi momento. Puoi anche impostare gli ambiti in modo esplicito nel manifest utilizzando le stringhe URL. Se vuoi accedere a un'API o a un servizio Google per conto dell'utente, includi l'ambito pertinente nel manifest.
Accesso all'indirizzo email dell'utente
Nel codice, puoi identificare l'utente effettivo attuale con
Session.getEffectiveUser().getEmail()
. Vedi riferimento getEffectiveUser.
L'aggiunta di questo codice aggiungerà automaticamente l'ambito di autorizzazione https://www.googleapis.com/auth/userinfo.email
al connettore.
Esempio: chiamata alle API di Google con il token OAuth dell'utente
- Il connettore Google Fit recupera i dati dall'API Google Fit per l'utente effettivo. Durante la chiamata all'API, trasmette il token OAuth dell'utente effettivo. Consulta il codice sorgente per i dettagli dell'implementazione.
- Il connettore Firestore utilizza Cloud Resource Manager per ottenere un elenco di progetti per l'utente effettivo. Questo connettore passa anche il token OAuth dell'utente effettivo. Consulta il codice sorgente per i dettagli di implementazione.
Esempio: isAdminUser()
in base all'indirizzo email
- Il connettore UX di Chrome gestisce un elenco di utenti amministratore. Utilizza
getEffectiveUser()
e confronta l'utente effettivo con l'elenco per determinare se l'utente effettivo è un amministratore o meno. Consulta l'implementazione digetEffectiveUser
.