Gli utenti devono autorizzare i progetti di script che accedono ai propri dati o agiscono per loro conto. Quando un utente esegue uno script che richiede l'autorizzazione per la prima volta, l'interfaccia utente mostra un messaggio per avviare il flusso di autorizzazione.
Durante questo flusso, l'interfaccia utente comunica all'utente cosa vuole fare lo script. Ad esempio, uno script potrebbe richiedere l'autorizzazione per leggere i messaggi email dell'utente o creare eventi nel suo calendario. Il progetto script definisce queste singole autorizzazioni come Ambiti OAuth.
Per la maggior parte degli script, Apps Script rileva automaticamente gli ambiti necessari. Puoi visualizzare gli ambiti utilizzati da uno script in qualsiasi momento. Puoi anche impostare gli ambiti in modo esplicito nel manifest utilizzando stringhe URL. A volte è necessario impostare esplicitamente gli ambiti per determinate applicazioni, come i componenti aggiuntivi, poiché le applicazioni pubblicate devono sempre utilizzare gli ambiti più ristretti possibili.
Durante il flusso di autorizzazione, Apps Script presenta all'utente descrizioni leggibili degli ambiti richiesti. Ad esempio, se lo script necessita dell'accesso di sola lettura ai fogli di lavoro, il manifest potrebbe avere l'ambito https://www.googleapis.com/auth/spreadsheets.readonly
. Durante il flusso di autorizzazione, uno script con questo ambito chiede all'utente di consentire all'applicazione di "Visualizzare i tuoi Fogli Google".
Alcuni ambiti includono altri. Ad esempio, se autorizzato, l'ambitohttps://www.googleapis.com/auth/spreadsheets
consente l'accesso in lettura e scrittura ai fogli di lavoro.
Visualizzazione degli ambiti
Per visualizzare gli ambiti attualmente richiesti dal tuo progetto di script, segui questi passaggi:
- Apri il progetto di script.
- A sinistra, fai clic su Panoramica .
- Visualizza gli ambiti in Ambiti OAuth del progetto.
Impostazione di ambiti espliciti
Apps Script determina automaticamente gli ambiti di cui uno script ha bisogno esaminando il codice per individuare le chiamate di funzione che li richiedono. Per la maggior parte degli script, questo è sufficiente e ti fa risparmiare tempo, ma per i componenti aggiuntivi pubblicati, le app web, le app Google Chat e le chiamate all'API Google Chat devi esercitare un controllo più diretto sugli ambiti.
A volte Apps Script assegna automaticamente ai progetti ambiti molto permissivi. Ciò può significare che lo script chiede all'utente più di quanto necessario, il che è una cattiva prassi. Per gli script pubblicati, devi sostituire gli ambiti ampi con un insieme più limitato che soddisfi le esigenze dello script e non più.
Puoi impostare esplicitamente gli ambiti utilizzati dal progetto di script modificando il relativo file manifest. Il campo manifestoauthScopes
è un array di tutti gli ambiti utilizzati dal progetto. Per impostare gli scopi del progetto:
- Apri il progetto di script.
- A sinistra, fai clic su Impostazioni progetto .
- Seleziona la casella di controllo Mostra il file manifest "appsscript.json" nell'editor.
- A sinistra, fai clic su Editor .
- A sinistra, fai clic sul file
appsscript.json
. - Individua il campo di primo livello denominato
oauthScopes
. Se non è presente, puoi aggiungerlo. - Il campo
oauthScopes
specifica un array di stringhe. Per impostare gli ambiti utilizzati dal progetto, sostituisci i contenuti di questo array con gli ambiti che vuoi utilizzare. Ad esempio:{ ... "oauthScopes": [ "https://www.googleapis.com/auth/spreadsheets.readonly", "https://www.googleapis.com/auth/userinfo.email" ], ... }
- In alto, fai clic su Salva .
Verifica OAuth
Alcuni ambiti OAuth sono sensibili perché consentono l'accesso ai dati utente di Google. Se il progetto di script utilizza ambiti che consentono l'accesso ai dati utente, deve essere sottoposto alla verifica del client OAuth prima di poter essere pubblicato pubblicamente come app web o componente aggiuntivo. Per ulteriori informazioni, consulta le seguenti guide:
- Verifica del client OAuth per Apps Script
- App non verificate
- Domande frequenti sulla verifica OAuth
- Norme sui dati utente: servizi API di Google
Ambiti con restrizioni
Oltre agli ambiti sensibili, alcuni sono classificati come con restrizioni e soggetti a regole aggiuntive che contribuiscono a proteggere i dati utente. Se intendi pubblicare un'app web o un componente aggiuntivo che utilizza uno o più ambiti con restrizioni, l'app deve essere conforme a tutte le limitazioni specificate prima di poter essere pubblicata.
Consulta l'elenco completo degli ambiti con restrizioni prima di tentare di pubblicare. Se la tua app li utilizza, devi rispettare i Requisiti aggiuntivi per gli ambiti API specifici prima della pubblicazione.