Ambiti di autorizzazione

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 presenta una richiesta di avvio del flusso di autorizzazione.

Durante questo flusso, l'interfaccia utente indica all'utente cosa deve 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 gli ambiti in modo esplicito per alcune applicazioni come i componenti aggiuntivi, poiché le applicazioni pubblicate dovrebbero utilizzare sempre 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 di lavoro Google".

Alcuni ambiti sono inclusivi 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.

Visualizzazione degli ambiti

Per vedere gli ambiti attualmente richiesti dal progetto di script:

  1. Apri il progetto di 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 ha bisogno uno script analizzando il codice per rilevare le chiamate di funzione che li richiedono. Per la maggior parte degli script, questo è sufficiente e consente di 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 degli ambiti.

A volte Apps Script assegna automaticamente ai progetti ambiti molto permissivi. Ciò può significare che lo script chiede all'utente più informazioni del necessario, cioè una prassi scorretta. 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 file manifest. Il campo manifest oauthScopes è un array di tutti gli ambiti utilizzati dal progetto. Per impostare gli ambiti del progetto, segui questi passaggi:

  1. Apri il progetto di script.
  2. A sinistra, fai clic su Impostazioni progetto .
  3. Seleziona la casella di controllo Mostra il file manifest "appsscript.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 oauthScopes. Se non è presente, puoi aggiungerla.
  7. 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 che utilizzi. Ad esempio:
          {
            ...
            "oauthScopes": [
              "https://www.googleapis.com/auth/spreadsheets.readonly",
              "https://www.googleapis.com/auth/userinfo.email"
            ],
           ...
          }
    
  8. In alto, fai clic su Salva .

Verifica OAuth

Alcuni ambiti OAuth sono sensibili perché consentono l'accesso ai dati utente Google. Se il progetto di script utilizza ambiti che consentono l'accesso ai dati utente, il progetto 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:

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 rispettare tutte le limitazioni specificate prima di poter essere pubblicata.

Esamina l'elenco completo degli ambiti con restrizioni prima di tentare di pubblicare. Se la tua app utilizza uno di questi, devi rispettare i Requisiti aggiuntivi per ambiti API specifici prima della pubblicazione.