Ambiti di autorizzazione

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

Durante questo flusso, la UI indica all'utente cosa deve fare lo script. Ad esempio, uno script potrebbe richiedere l'autorizzazione a leggere i messaggi email dell'utente o creare eventi nel suo 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 gli ambiti in modo esplicito nel manifest utilizzando stringhe URL. L'impostazione esplicita degli ambiti a volte è necessaria per determinate 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 richiede l'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 ne includono altri. Ad esempio, una volta autorizzato l'ambito, https://www.googleapis.com/auth/spreadsheets consente l'accesso in lettura e scrittura ai fogli di lavoro.

Visualizzazione degli ambiti

Puoi vedere gli ambiti attualmente necessari per il tuo 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 necessari a uno script scansionando il codice alla ricerca di chiamate di funzione che li richiedono. Per la maggior parte degli script è 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.

Apps Script a volte assegna automaticamente ai progetti ambiti molto permissivi. Questo può significare che lo script chiede all'utente più del necessario, ovvero una cattiva pratica. 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, procedi nel seguente modo:

  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 denominato oauthScopes. Se non è presente, puoi aggiungerlo.
  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 di Google. Se il progetto di script utilizza ambiti che consentono l'accesso ai dati utente, il progetto deve essere sottoposto a 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 aiutano a proteggere i dati utente. Se intendi pubblicare un'app web o un componente aggiuntivo che utilizza uno o più ambiti con restrizioni, prima di poter essere pubblicata, l'app deve rispettare tutte le limitazioni specificate.

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