Accedere e manipolare la pubblicazione e gli attivatori degli script. Questa classe consente agli utenti di creare attivatori di script e di controllare la pubblicazione dello script come servizio.
Proprietà
Proprietà | Tipo | Descrizione |
---|---|---|
Auth | Auth | Un'enumerazione che identifica le categorie di servizi autorizzati che Apps Script è in grado di eseguire tramite una funzione attivata. |
Authorization | Authorization | Un'enumerazione che indica lo stato di autorizzazione di uno script. |
Event | Event | Un'enumerazione che indica il tipo di evento attivato. |
Installation | Installation | Un'enumerazione che indica in che modo lo script è stato installato per l'utente come componente aggiuntivo. |
Trigger | Trigger | Un'enumerazione che indica la sorgente dell'evento che attiva l'attivatore. |
Week | Weekday | Un'enumerazione che rappresenta i giorni della settimana. |
Metodi
Metodo | Tipo restituito | Breve descrizione |
---|---|---|
delete | void | Rimuove l'attivatore specificato in modo che non venga più eseguito. |
get | Authorization | Restituisce un oggetto che controlla se l'utente ha concesso l'autorizzazione per tutti i requisiti dello script. |
get | Authorization | Restituisce un oggetto che verifica se l'utente ha concesso l'autorizzazione per gli ambiti richiesti. |
get | String | Recupera un token di identità Openopenid . |
get | Installation | Restituisce un valore enum che indica in che modo lo script è stato installato come componente aggiuntivo per l'utente corrente (ad esempio, se l'utente lo ha installato personalmente tramite il Chrome Web Store o se un amministratore di dominio lo ha installato per tutti gli utenti). |
get | String | Recupera il token di accesso OAuth 2.0 per l'utente effettivo. |
get | Trigger[] | Recupera tutti gli attivatori installabili associati al progetto e all'utente corrente. |
get | String | Recupera l'ID univoco del progetto di script. |
get | Service | Restituisce un oggetto utilizzato per controllare la pubblicazione dello script come app web. |
get | Trigger[] | Recupera tutti gli attivatori installabili di proprietà di questo utente nel documento specificato, solo per questo script o componente aggiuntivo. |
get | Trigger[] | Recupera tutti gli attivatori installabili di proprietà di questo utente nel modulo specificato, solo per questo script o componente aggiuntivo. |
get | Trigger[] | Recupera tutti gli attivatori installabili di proprietà di questo utente nel foglio di lavoro specificato, solo per questo script o plug-in. |
invalidate | void | Annullare l'autorizzazione di cui l'utente effettivo dispone per eseguire lo script corrente. |
new | State | Crea un generatore per un token di stato che può essere utilizzato in un'API di callback (ad esempio un flusso OAuth). |
new | Trigger | Avvia il processo di creazione di un trigger installabile che, quando viene attivato, chiama una determinata funzione. |
require | void | Verifica se l'utente ha concesso il consenso per tutti gli ambiti richiesti dallo script. |
require | void | Verifica se l'utente ha concesso il consenso per gli ambiti richiesti. |
Documentazione dettagliata
delete Trigger(trigger)
Rimuove l'attivatore specificato in modo che non venga più eseguito.
// Deletes all triggers in the current project. const triggers = ScriptApp.getProjectTriggers(); for (let i = 0; i < triggers.length; i++) { ScriptApp.deleteTrigger(triggers[i]); }
Parametri
Nome | Tipo | Descrizione |
---|---|---|
trigger | Trigger | L'attivatore da eliminare. |
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/script.scriptapp
get Authorization Info(authMode)
Restituisce un oggetto che controlla se l'utente ha concesso l'autorizzazione per tutti i requisiti dello script. L'oggetto fornisce anche un URL di autorizzazione per consentire agli utenti di concedere queste autorizzazioni, nel caso in cui uno dei requisiti dello script non sia autorizzato.
Alcune esecuzioni di script possono iniziare senza il consenso di un utente per tutti gli ambiti richiesti utilizzati dall'script. Le informazioni in questo oggetto ti consentono di controllare l'accesso a sezioni di codice che richiedono determinati ambiti e di richiedere l'autorizzazione di questi ambiti per le esecuzioni successive.
const authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL); const status = authInfo.getAuthorizationStatus(); const url = authInfo.getAuthorizationUrl();
Parametri
Nome | Tipo | Descrizione |
---|---|---|
auth | Auth | La modalità di autorizzazione per la quale vengono richieste le informazioni di autorizzazione. In quasi tutti i casi, il valore di auth deve essere Script , poiché nessuna altra modalità di autorizzazione richiede agli utenti di concedere l'autorizzazione. |
Invio
Authorization
: un oggetto che può fornire informazioni sullo stato dell'autorizzazione dell'utente.
get Authorization Info(authMode, oAuthScopes)
Restituisce un oggetto che verifica se l'utente ha concesso l'autorizzazione per gli ambiti richiesti. L'oggetto fornisce anche un URL di autorizzazione per consentire agli utenti di concedere queste autorizzazioni, nel caso in cui uno degli ambiti richiesti non sia autorizzato.
Alcune esecuzioni di script possono iniziare senza il consenso di un utente per tutti gli ambiti richiesti utilizzati dall'script. Le informazioni in questo oggetto ti consentono di controllare l'accesso a sezioni di codice che richiedono determinati ambiti e di richiedere l'autorizzazione di questi ambiti per le esecuzioni successive. Gli ambiti non validi o non obbligatori previsti dallo script generano un errore.
const authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL, [ 'https://www.googleapis.com/auth/documents', 'https://www.googleapis.com/auth/presentations', ]); const status = authInfo.getAuthorizationStatus(); const url = authInfo.getAuthorizationUrl();
Parametri
Nome | Tipo | Descrizione |
---|---|---|
auth | Auth | La modalità di autorizzazione per la quale vengono richieste le informazioni di autorizzazione. In quasi tutti i casi, il valore di auth deve essere Script , poiché nessuna altra modalità di autorizzazione richiede agli utenti di concedere l'autorizzazione. |
oAuthScopes | String[] | Gli ambiti OAuth per i quali vengono richieste le informazioni di autorizzazione. |
Invio
Authorization
: un oggetto che fornisce informazioni sullo stato di autorizzazione dell'utente e un URL di autorizzazione nel caso in cui manchino alcuni consensi.
get Identity Token()
Recupera un token di identità Openopenid
. Questo ambito non è incluso per impostazione predefinita e devi aggiungerlo come ambito esplicito nel file manifest per richiederlo. Includi gli ambiti https://www.googleapis.com/auth/userinfo.email
o https://www.googleapis.com/auth/userinfo.profile
per restituire nel token informazioni aggiuntive sull'utente.
Il token ID restituito è un token web JSON (JWT) codificato e deve essere decodificato per estrarne le informazioni. Gli esempi riportati di seguito mostrano come decodificare il token ed estrarre l'ID profilo Google dell'utente effettivo.
const idToken = ScriptApp.getIdentityToken(); const body = idToken.split('.')[1]; const decoded = Utilities .newBlob( Utilities.base64Decode(body), ) .getDataAsString(); const payload = JSON.parse(decoded); Logger.log(`Profile ID: ${payload.sub}`);
Invio
String
: il token di identità, se disponibile; in caso contrario, null
.
get Installation Source()
Restituisce un valore enum che indica in che modo lo script è stato installato come componente aggiuntivo per l'utente corrente (ad esempio, se l'utente lo ha installato personalmente tramite il Chrome Web Store o se un amministratore di dominio lo ha installato per tutti gli utenti).
Invio
Installation
: l'origine dell'installazione.
get OAuth Token()
Recupera il token di accesso OAuth 2.0 per l'utente effettivo. Se gli ambiti OAuth dello script sono sufficienti per autorizzare un'altra API di Google che normalmente richiede il proprio flusso OAuth (ad esempio Google Picker), gli script possono bypassare la seconda richiesta di autorizzazione passando questo token. Il token scade dopo un determinato periodo di tempo (almeno alcuni minuti); gli script devono gestire gli errori di autorizzazione e chiamare questo metodo per ottenere un nuovo token in caso di necessità.
Il token restituito da questo metodo include solo gli ambiti di cui lo script ha attualmente bisogno. Gli ambiti che sono stati precedentemente autorizzati, ma non sono più utilizzati dallo script, non sono inclusi nel token restituito. Se sono necessari ambiti OAuth aggiuntivi rispetto a quelli richiesti dallo script stesso, possono essere specificati nel file manifest dello script.
Invio
String
: una rappresentazione stringa del token OAuth 2.0.
get Project Triggers()
Recupera tutti gli attivatori installabili associati al progetto e all'utente corrente.
Logger.log( `Current project has ${ScriptApp.getProjectTriggers().length} triggers.`, );
Invio
Trigger[]
: un array degli attivatori dell'utente corrente associati a questo progetto.
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/script.scriptapp
get Script Id()
Recupera l'ID univoco del progetto di script. Questo è il metodo preferito per ottenere l'identificatore univoco per il progetto di script rispetto a
. Questo ID può essere utilizzato in tutti i luoghi
dove è stata precedentemente fornita la chiave del progetto.get
Invio
String
: l'ID del progetto di script.
get Service()
Restituisce un oggetto utilizzato per controllare la pubblicazione dello script come app web.
// Get the URL of the published web app. const url = ScriptApp.getService().getUrl();
Invio
Service
: un oggetto utilizzato per osservare e controllare la pubblicazione dello script come app web.
get User Triggers(document)
Recupera tutti gli attivatori installabili di proprietà di questo utente nel documento specificato, solo per questo script o componente aggiuntivo. Questo metodo non può essere utilizzato per visualizzare gli attivatori associati ad altri script.
const doc = DocumentApp.getActiveDocument(); const triggers = ScriptApp.getUserTriggers(doc); // Log the handler function for the first trigger in the array. Logger.log(triggers[0].getHandlerFunction());
Parametri
Nome | Tipo | Descrizione |
---|---|---|
document | Document | Un file di Documenti Google che potrebbe contenere attivatori installabili. |
Invio
Trigger[]
: un array di attivatori di proprietà di questo utente nel documento specificato.
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/script.scriptapp
get User Triggers(form)
Recupera tutti gli attivatori installabili di proprietà di questo utente nel modulo specificato, solo per questo script o componente aggiuntivo. Questo metodo non può essere utilizzato per visualizzare gli attivatori associati ad altri script.
const form = FormApp.getActiveForm(); const triggers = ScriptApp.getUserTriggers(form); // Log the trigger source for the first trigger in the array. Logger.log(triggers[0].getTriggerSource());
Parametri
Nome | Tipo | Descrizione |
---|---|---|
form | Form | Un file di Moduli Google che potrebbe contenere attivatori installabili. |
Invio
Trigger[]
: un array di attivatori di proprietà di questo utente nel modulo specificato.
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/script.scriptapp
get User Triggers(spreadsheet)
Recupera tutti gli attivatori installabili di proprietà di questo utente nel foglio di lavoro specificato, solo per questo script o plug-in. Questo metodo non può essere utilizzato per visualizzare gli attivatori associati ad altri script.
const ss = SpreadsheetApp.getActiveSpreadsheet(); const triggers = ScriptApp.getUserTriggers(ss); // Log the event type for the first trigger in the array. Logger.log(triggers[0].getEventType());
Parametri
Nome | Tipo | Descrizione |
---|---|---|
spreadsheet | Spreadsheet | Un file di Fogli Google che potrebbe contenere attivatori installabili. |
Invio
Trigger[]
: un array di attivatori di proprietà di questo utente nel foglio di lavoro specificato.
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/script.scriptapp
invalidate Auth()
Annullare l'autorizzazione di cui l'utente effettivo dispone per eseguire lo script corrente. Utilizzato per invalidare eventuali autorizzazioni per lo script corrente. Questo è particolarmente utile per le funzioni помеченные come autorizzazione una tantum. Poiché le funzioni di autorizzazione una tantum possono essere chiamate solo la prima volta che lo script acquisisce l'autorizzazione, se vuoi eseguire un'azione in un secondo momento, devi revocare qualsiasi autorizzazione dello script in modo che l'utente possa visualizzare di nuovo la finestra di dialogo di autorizzazione.
ScriptApp .invalidateAuth();
Lanci
Error
: quando l'annullamento non va a buon fine
new State Token()
Crea un generatore per un token di stato che può essere utilizzato in un'API di callback (ad esempio un flusso OAuth).
// Generate a callback URL, given the name of a callback function. The script // does not need to be published as a web app; the /usercallback URL suffix // replaces /edit in any script's URL. function getCallbackURL(callbackFunction) { // IMPORTANT: Replace string below with the URL from your script, minus the // /edit at the end. const scriptUrl = 'https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz'; const urlSuffix = '/usercallback?state='; const stateToken = ScriptApp.newStateToken() .withMethod(callbackFunction) .withTimeout(120) .createToken(); return scriptUrl + urlSuffix + stateToken; }
Nella maggior parte dei flussi OAuth2, il token state
viene passato direttamente all'endpoint di autorizzazione (non nell'URL di callback) e poi quest'ultimo lo passa nell'URL di callback.
Ad esempio:
- Lo script reindirizza l'utente all'URL di autorizzazione OAuth2:
https://accounts.google.com/o/oauth2/auth?state=token_generated_with_this_method&callback_uri=https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback&other_oauth2_parameters
- L'utente fa clic su Autorizza e la pagina di autorizzazione OAuth2 lo reindirizza nuovamente a
https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback?state=token_generated_with_this_method&other_params_that_include_tokens_or_grants
- Il reindirizzamento sopra riportato (indietro a
http://script.google.com/...
) fa sì che il browser effettui una richiesta a/usercallback
, che invoca il metodo specificato daState
.Token Builder.withMethod(method)
Invio
State
: un oggetto utilizzato per continuare la procedura di creazione del token di stato.
new Trigger(functionName)
Avvia il processo di creazione di un trigger installabile che, quando viene attivato, chiama una determinata funzione.
// Creates an edit trigger for a spreadsheet identified by ID. ScriptApp.newTrigger('myFunction') .forSpreadsheet('1234567890abcdefghijklmnopqrstuvwxyz_a1b2c3') .onEdit() .create();
Parametri
Nome | Tipo | Descrizione |
---|---|---|
function | String | La funzione da chiamare quando viene attivato l'attivatore. Puoi utilizzare le funzioni delle librerie incluse, ad esempio Library.libFunction1 . |
Invio
Trigger
: un oggetto utilizzato per continuare la procedura di creazione dell'attivatore.
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/script.scriptapp
require All Scopes(authMode)
Verifica se l'utente ha concesso il consenso per tutti gli ambiti richiesti dallo script. Utilizza questo metodo se un flusso di esecuzione si basa su tutti gli ambiti richiesti da uno script. Se mancano dei consensi, questo metodo termina l'esecuzione corrente e mostra una richiesta di autorizzazione per richiedere i consensi mancanti.
Questo metodo funziona solo quando gli utenti eseguono lo script da una piattaforma che supporta il consenso granulare, ad esempio dall'IDE di Apps Script. Quando lo script viene eseguito con i consensi mancanti da una piattaforma non supportata, ad esempio un componente aggiuntivo di Google Workspace, all'inizio dell'esecuzione viene visualizzato un prompt di autorizzazione per richiedere tutti gli ambiti.
ScriptApp .requireAllScopes(ScriptApp.AuthMode.FULL);
Parametri
Nome | Tipo | Descrizione |
---|---|---|
auth | Auth | La modalità di autorizzazione per la quale devono essere valutati gli ambiti dello script. In quasi tutti i casi, il valore di auth deve essere Script , poiché nessun'altra modalità di autorizzazione richiede agli utenti di concedere l'autorizzazione. |
require Scopes(authMode, oAuthScopes)
Verifica se l'utente ha concesso il consenso per gli ambiti richiesti. Utilizza questo metodo se un flusso di esecuzione si basa su uno o più servizi. Se uno dei consensi specificati non è presente, questo metodo termina l'esecuzione corrente e mostra una richiesta di autorizzazione per richiedere i consensi mancanti. Gli ambiti non validi o non obbligatori previsti dallo script generano un errore.
Questo metodo funziona solo quando gli utenti eseguono lo script da una piattaforma che supporta il consenso granulare, ad esempio dall'IDE di Apps Script. Quando lo script viene eseguito con i consensi mancanti da una piattaforma non supportata, ad esempio un componente aggiuntivo di Google Workspace, all'inizio dell'esecuzione viene visualizzato un prompt di autorizzazione per richiedere tutti gli ambiti.
ScriptApp .requireScopes(ScriptApp.AuthMode.FULL, [ 'https://www.googleapis.com/auth/documents', 'https://www.googleapis.com/auth/presentations', ]);
Parametri
Nome | Tipo | Descrizione |
---|---|---|
auth | Auth | La modalità di autorizzazione per la quale devono essere valutati gli ambiti richiesti. In quasi tutti i casi, il valore di auth deve essere Script , poiché nessuna altra modalità di autorizzazione richiede agli utenti di concedere l'autorizzazione. |
oAuthScopes | String[] | Gli ambiti OAuth necessari per completare il flusso di esecuzione specificato. |