Ambiti di autorizzazione

Gli utenti devono autorizzare i progetti di script che accedono ai loro dati o che agiscono per conto di loro. Quando un utente esegue uno script che richiede l'autorizzazione per la prima volta, l'interfaccia utente presenta una richiesta per avviare il flusso di autorizzazione.

Durante questo flusso, l'interfaccia utente indica all'utente che cosa deve fare l'autorizzazione. Ad esempio, uno script potrebbe richiedere l'autorizzazione per leggere i messaggi email dell'utente o per creare eventi nel proprio calendario. Il progetto di 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 esplicitamente gli ambiti nel manifest usando le stringhe URL. A volte è necessario impostare gli ambiti esplicitamente per determinate applicazioni, ad esempio i componenti aggiuntivi, dato che le applicazioni pubblicate dovrebbero sempre utilizzare gli ambiti più ristretti.

Durante il flusso di autorizzazione, Apps Script presenta all'utente descrizioni leggibili degli ambiti richiesti. Ad esempio, se lo script ha bisogno di accedere in sola lettura ai tuoi fogli di lavoro, il manifest può 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 a questa applicazione di "visualizzare i fogli di lavoro Google".

Alcuni ambiti sono comprensivi di altri. Ad esempio, se autorizzato, l'ambito https://www.googleapis.com/auth/spreadsheets consente l'accesso in lettura e scrittura ai fogli di lavoro.

Ambiti di visualizzazione

Per visualizzare gli ambiti attualmente richiesti dal progetto di script:

  1. Apri il progetto dello script.
  2. A sinistra, fai clic su Panoramica .
  3. 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 le chiamate di funzione che le richiedono. Per la maggior parte degli script è sufficiente e ti fa risparmiare tempo, ma per i componenti aggiuntivi e le app web pubblicati devi esercitare un controllo più diretto sugli ambiti.

A volte Apps Script assegna automaticamente ambiti molto permissivi ai progetti. Ciò può significare che lo script chiede all'utente più di quanto necessario, il che è un comportamento scorretto. Per gli script pubblicati, devi sostituire gli ambiti ampi con un insieme più limitato che copre le esigenze dello script e altro ancora.

Puoi impostare esplicitamente gli ambiti utilizzati dal progetto di script modificando il file manifest. Il campo manifest oauthScopes è un array di tutti gli ambiti utilizzati dal progetto. Per impostare gli ambiti del progetto:

  1. Apri il progetto dello script.
  2. A sinistra, fai clic su Impostazioni progetto .
  3. Seleziona la casella di controllo Mostra file app & json.json nell'editor.
  4. A sinistra, fai clic su Editor .
  5. A sinistra, fai clic sul file appsscript.json.
  6. Individua il campo di primo livello denominato oauthScopes. Se non è presente, puoi aggiungerlo.
  7. Il campo oauthScopes specifica un array di stringhe. Per impostare gli ambiti che il tuo progetto utilizza, sostituisci i contenuti di questo array con gli ambiti che vuoi che utilizzi. Ad esempio:
          {
            ...
            "oauthScopes": [
              "https://www.googleapis.com/auth/spreadsheets.readonly",
              "https://www.googleapis.com/auth/userinfo.email"
            ],
           ...
          }
    
  8. Fai clic su Salva in alto.

Verifica OAuth

Alcuni ambiti OAuth sono sensibili perché consentono l'accesso ai dati utente Google. Se il tuo 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 saperne di più, consulta le seguenti guide:

Ambiti con limitazioni

Oltre agli ambiti sensibili, alcuni ambiti sono classificati come limitato e sono soggetti a regole aggiuntive che consentono di proteggere i dati utente. Se intendi pubblicare un'app o un componente aggiuntivo web che utilizza uno o più ambiti limitati, l'app deve rispettare tutte le restrizioni specificate prima di poter essere pubblicata.

Prima di tentare la pubblicazione, consulta l'elenco completo degli ambiti con restrizioni. Se la tua app ne utilizza uno, devi rispettare i requisiti aggiuntivi per gli ambiti API specifici prima della pubblicazione.