Accedere e manipolare la pubblicazione e i trigger degli script. Questa classe consente agli utenti di creare trigger di script e 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 come è stato installato lo script per l'utente come componente aggiuntivo. |
Trigger | Trigger | Un'enumerazione che indica l'origine dell'evento che causa l'attivazione del trigger. |
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 | Recupera un oggetto che verifica se l'utente ha concesso l'autorizzazione per tutti i requisiti dello script. |
get | Authorization | Recupera 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 come è stato installato lo script 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 | Ottiene il token di accesso OAuth 2.0 per l'utente effettivo. |
get | Trigger[] | Recupera tutti i trigger installabili associati al progetto corrente e all'utente corrente. |
get | String | Recupera l'ID univoco del progetto di script. |
get | Service | Ottiene un oggetto utilizzato per controllare la pubblicazione dello script come app web. |
get | Trigger[] | Recupera tutti i trigger installabili di proprietà di questo utente nel documento specificato, solo per questo script o componente aggiuntivo. |
get | Trigger[] | Recupera tutti i trigger installabili di proprietà di questo utente nel modulo specificato, solo per questo script o componente aggiuntivo. |
get | Trigger[] | Recupera tutti i trigger installabili di proprietà di questo utente nel foglio di lavoro specificato, solo per questo script o componente aggiuntivo. |
invalidate | void | Annulla l'autorizzazione dell'utente effettivo per l'esecuzione dello script corrente. |
new | State | Crea un builder per un token di stato che può essere utilizzato in un'API di callback (come un flusso OAuth). |
new | Trigger | Avvia il processo di creazione di un trigger installabile che, quando 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 | Il trigger 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)
Recupera un oggetto che verifica 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 dell'utente per tutti gli ambiti richiesti utilizzati dallo script. Le informazioni contenute 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 cui vengono richieste le informazioni di autorizzazione; in
quasi tutti i casi, il valore di auth deve essere Script , poiché nessun'altra modalità di autorizzazione
richiede che gli utenti concedano l'autorizzazione. |
Indietro
Authorization
: un oggetto che può fornire informazioni sullo stato di autorizzazione dell'utente.
get Authorization Info(authMode, oAuthScopes)
Recupera 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 dell'utente per tutti gli ambiti richiesti utilizzati dallo script. Le informazioni contenute 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 richiesti dallo script causano 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é nessun'altra modalità di autorizzazione richiede che gli utenti concedano l'autorizzazione. |
oAuthScopes | String[] | Gli ambiti OAuth per cui vengono richieste le informazioni di autorizzazione. |
Indietro
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 ulteriori
informazioni sull'utente nel token.
Il token ID restituito è un JSON Web Token (JWT) codificato e deve essere decodificato per estrarre le informazioni. L'esempio seguente mostra 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}`);
Indietro
String
: il token di identità, se disponibile; altrimenti null
.
get Installation Source()
Restituisce un valore enum che indica come è stato installato lo script 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).
Indietro
Installation
: l'origine dell'installazione.
get OAuth Token()
Ottiene 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 un proprio flusso OAuth (come Google Picker), gli script possono ignorare il secondo prompt di autorizzazione passando questo token. Il token scade dopo un periodo di tempo (almeno qualche minuto); gli script devono gestire gli errori di autorizzazione e chiamare questo metodo per ottenere un nuovo token quando necessario.
Il token restituito da questo metodo include solo gli ambiti di cui lo script ha attualmente bisogno. Gli ambiti precedentemente autorizzati ma non 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.
Indietro
String
: una rappresentazione stringa del token OAuth 2.0.
get Project Triggers()
Recupera tutti i trigger installabili associati al progetto corrente e all'utente corrente.
Logger.log( `Current project has ${ScriptApp.getProjectTriggers().length} triggers.`, );
Indietro
Trigger[]
: un array dei trigger 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 anziché
. Questo ID può essere utilizzato in tutti i punti
in cui in precedenza veniva fornita la chiave del progetto.get
Indietro
String
: l'ID del progetto dello script.
get Service()
Ottiene 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();
Indietro
Service
: un oggetto utilizzato per osservare e controllare la pubblicazione dello script come app web.
get User Triggers(document)
Recupera tutti i trigger installabili di proprietà di questo utente nel documento specificato, solo per questo script o componente aggiuntivo. Questo metodo non può essere utilizzato per visualizzare i trigger collegati 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 Documenti Google che potrebbe contenere trigger installabili. |
Indietro
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 i trigger installabili di proprietà di questo utente nel modulo specificato, solo per questo script o componente aggiuntivo. Questo metodo non può essere utilizzato per visualizzare i trigger collegati 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 trigger installabili. |
Indietro
Trigger[]
: un array di trigger 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 i trigger installabili di proprietà di questo utente nel foglio di lavoro specificato, solo per questo script o componente aggiuntivo. Questo metodo non può essere utilizzato per visualizzare i trigger collegati 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 Fogli Google che potrebbe contenere trigger installabili. |
Indietro
Trigger[]
: un array di trigger 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()
Annulla l'autorizzazione dell'utente effettivo per l'esecuzione dello script corrente. Utilizzato per invalidare le autorizzazioni per lo script corrente. Ciò è particolarmente utile per le funzioni contrassegnate 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 builder per un token di stato che può essere utilizzato in un'API di callback (come 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 come parte dell'URL di callback) e l'endpoint di autorizzazione lo passa come parte dell'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 a
https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback?state=token_generated_with_this_method&other_params_that_include_tokens_or_grants
- Il reindirizzamento precedente (di nuovo a
http://script.google.com/...
) fa sì che la richiesta del browser venga inviata a/usercallback
, che richiama il metodo specificato daState
.Token Builder.withMethod(method)
Indietro
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 attivato, chiama una determinata funzione.
// Creates an edit trigger for a spreadsheet identified by ID. ScriptApp.newTrigger('myFunction') .forSpreadsheet('1234567890abcdefghijklmnopqrstuvwxyz_a1b2c3') .onEdit() .create();
Prima di creare un trigger, verifica che la funzione associata disponga di tutte le autorizzazioni OAuth necessarie.
Parametri
Nome | Tipo | Descrizione |
---|---|---|
function | String | La funzione da chiamare quando viene attivato il trigger. Puoi utilizzare le funzioni delle librerie incluse, ad esempio Library.libFunction1 . |
Indietro
Trigger
: un oggetto utilizzato per continuare il processo di creazione del trigger.
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 consensi, questo metodo termina l'esecuzione corrente e visualizza 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 Apps Script. Quando lo script viene eseguito con i consensi mancanti da una superficie non supportata, ad esempio un componente aggiuntivo Google Workspace, lo script visualizza una richiesta di autorizzazione all'inizio dell'esecuzione 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 che gli utenti concedano 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 manca uno dei consensi specificati, questo metodo termina l'esecuzione corrente e visualizza una richiesta di autorizzazione per richiedere i consensi mancanti. Gli ambiti non validi o non richiesti dallo script causano un errore.
Questo metodo funziona solo quando gli utenti eseguono lo script da una piattaforma che supporta il consenso granulare, ad esempio dall'IDE Apps Script. Quando lo script viene eseguito con i consensi mancanti da una superficie non supportata, ad esempio un componente aggiuntivo Google Workspace, lo script visualizza una richiesta di autorizzazione all'inizio dell'esecuzione 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 è necessario valutare gli ambiti richiesti. In
quasi tutti i casi, il valore di auth deve essere Script ,
poiché nessun'altra modalità di autorizzazione richiede che gli utenti concedano l'autorizzazione. |
oAuthScopes | String[] | Gli ambiti OAuth necessari per completare il flusso di esecuzione specificato. |