JavaScript, HTML, CSS e... !
2 commenti

Gli ambiti di autorizzazione sono determinati in modo automatico

Flusso per l'Autorizzazione dei Google Services nei progetti in Apps Script

Apps Script richiede l'autorizzazione da parte dell'utente per poter accedere ai Servizi integrati di Google (Built-in Google Services) o ai Servizi Avanzati di Google (Advanced Google Services).

Gli  ambiti di autorizzazione (come ad esempio l'accesso in visualizzazione o gestione per gli Spreadsheets, Docs o Gmail) vengono determinati da Apps Script in modo automatico, in base ad una scansione del codice al momento della sua esecuzione (da notare che anche il codice commentato può generare una richiesta di autorizzazione) pertanto, se uno script necessita di autorizzazioni, apparirà una finestra di dialogo con la relativa richiesta, ovvero il tuo permesso ad accedere ai tuoi dati su Google, come nell'esempio seguente, Fig. 1 (l'esempio in questione si basa sulle autorizzazioni fornite per l'add-on descritto nel tutorial 'Lista dei containers di Google Tag Manager in Spreadsheet con Google Apps Script'):



richiesta di autorizzazioni da parte dello script

Fig. 1 - Richiesta di autorizzazioni da parte dello script


Nel caso in cui lo script sia di tipo bound (ovvero incorporato in uno dei tools della G Suite, ad esempio in uno Spreadsheet) alla prima esecuzione viene mostrato lo stesso messaggio di cui sopra all'interno di una modal che ha un grafica ereditata dallo strumento in uso (un esempio è il bottone celeste), Fig. 1.1:



richiesta di autorizzazioni da parte dello script all'interno di uno spreadsheet

Fig. 1.1 - Richiesta di autorizzazioni da parte dello script all'interno di uno Spreadsheet


Una volta premuto su 'Rivedi autorizzazioni' apparirà la pagina per la scelta dell'account con il quale si dà il permesso a Google di accedere ai dati richiesti, Fig. 2:



richiesta di scelta di un account con il quale lo script può essere autorizzato ad accedere alle risorse di google

Fig. 2 - Richiesta di scelta di un account con il quale lo script può essere autorizzato ad accedere alle risorse di Google


A questo punto si finisce in una pagina che ci informa che l'app non è verificata, Fig. 3.
Questo succede per le Web App e gli script che utilizzano ambiti sensibili e che sono, di conseguenza, soggetti a revisione da parte di Google (per maggiori informazioni fare riferimento alla documentazione ufficiale, OAuth Client Verification).



informazione di app non verificata da google

Fig. 3 - Informazione di app non verificata da Google


Per poter procedere è necessario cliccare su 'Avanzate' (Advanced). Apparirà a questo punto un messaggio che ci informa che Google non ha ancora esaminato l'app in questione e che non può confermarne l'autenticità.
Senza farsi intimorire cliccare sul link 'Apri [nome progetto] (non sicura)', Fig. 4:



link per procedere con la richiesta di autorizzazioni per l'app non ancora verificata da google

Fig. 4 - Link per procedere con la richiesta di autorizzazioni per l'app non ancora verificata da Google


Può capitare in questa fase che compaia un captcha che richiede di inserire un testo (Continue) nell'apposita casella per poi premere su 'NEXT'. La sua finalità è quella di assicurarsi che a fornire le autorizzazioni sia effettivamente una persona consensiente e non un bot, Fig. 5:



captcha anti-bot per procedere con la richiesta di autorizzazioni

Fig. 5 - Captcha anti-bot per procedere con la richiesta di autorizzazioni


Comparirà adesso una schermata dove l'app richiede di consentirgli l'autorizzazione all'accesso ad una lista di attività (visualizzazione, gestione, pubblicazione, ecc...) in base a quanto necessario per poter far funzionare adeguatamente lo script o la Web App.
Per poter proseguire è necessario consentire l'accesso all'app relativamente alle autorizzazioni richieste. Nota che non è possibile scegliere solo alcune autorizzazioni in quanto, venendo proposte solo quelle effettivamente necessarie, devono essere consentite tutte, Fig. 6:



schermata riepilogativa delle autorizzazioni da consentire richieste per il funzionamento dello script o web app

Fig. 6 - Schermata riepilogativa delle autorizzazioni da consentire richieste per il funzionamento dello script o web app


Contestualmente al consenso delle autorizzazioni verrà ricevuta una mail da parte del Google Accounts team, all'indirizzo dell'account che ha consentito l'accesso, dove sono riepilogati i permessi forniti all'app e le indicazioni in caso si intenda rimuoverli.

Da sapere che, anche avendo già autorizzato gli script, nel caso in cui il codice subisca delle modifiche che richiedono l'utilizzo di altri servizi o autorizzazioni diverse, verrà richiesto di eseguire nuovamente il flusso di autorizzazione per consentire le nuove abilitazioni.
Nel caso dell'esempio in corso, i Servizi Avanzati di Google che sono stati utilizzati sono Sheets API e Tag Manager API pertanto, aggiungendo successivamente al codice le funzionalità offerte per il Service di Tag Manager il flusso di autorizzazioni verrà nuovamente richiesto e si concluderà con la relativa richiesta di consenso, Fig. 7:



schermata riepilogativa di ulteriori autorizzazioni da consentire per lo script

Fig. 7 - Schermata riepilogativa di ulteirori autorizzazioni da consentire per lo script


Ricordarsi inoltre che oltre a fornire le autorizzazioni per i Servizi utilizzati negli script è necessario 'Abilitare l'uso delle API dei Servizi Avanzati nei progetti in Google Apps Script'.

Tags

Michele Pisani

Michele Pisani

Sviluppatore Javascript ed esperto in Digital Analytics

L'esperienza nel settore Digital Analytics unita ad anni di sviluppo in Javascript ha trovato la massima espressione in Google Apps Script che mi ha permesso, con estrema facilità e poche righe di codice, di realizzare potenti applicazioni interattive e processi automatizzati integrati con i prodotti della G Suite.

Come contattarmi
scrivi un commento

2 Commenti

  1. Tuesday, November 22, 2022 alle ore 08:17 Gabriele Simonetta

    Mi richiede le autorizzazioni a distanza di un anno dall'ultimo utilizzo, come mai? C'è un modo per mantenere le autorizzazioni attive per sempre

    Rispondi a questo commento

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato.I campi contrassegnati da un * sono obbligatori
Puoi utilizzare i seguenti tag nei commenti:
[bold]testo[/bold] se vuoi evidenziare un testo con il grassetto[code]function helloworld() { }[/code] se vuoi pubblicare una porzione di codice[url]https://www.appsscript.it[/url] se devi riferirti ad un indirizzo web