Accedere e gestire la pubblicazione e i trigger di script. Questa classe consente agli utenti di creare script dei trigger e controllare la pubblicazione dello script come servizio.
Proprietà
Proprietà | Tipo | Descrizione |
---|---|---|
AuthMode | AuthMode | Un'enumerazione che identifica le categorie di servizi autorizzati che Apps Script è in grado di tramite una funzione attivata. |
AuthorizationStatus | AuthorizationStatus | Un'enumerazione che indica lo stato di autorizzazione di uno script. |
EventType | EventType | Un'enumerazione che indica il tipo di evento attivato. |
InstallationSource | InstallationSource | Un'enumerazione che indica come lo script è stato installato per l'utente come componente aggiuntivo. |
TriggerSource | TriggerSource | Un'enumerazione che indica l'origine dell'evento che attiva l'attivatore. |
WeekDay | Weekday | Un'enumerazione che rappresenta i giorni della settimana. |
Metodi
Metodo | Tipo restituito | Breve descrizione |
---|---|---|
deleteTrigger(trigger) | void | Rimuove l'attivatore specificato in modo che non venga più eseguito. |
getAuthorizationInfo(authMode) | AuthorizationInfo | Restituisce un oggetto utilizzato per determinare se l'utente deve autorizzare questo script a utilizzare uno o altri servizi e per fornire l'URL per una finestra di dialogo di autorizzazione. |
getIdentityToken() | String | Riceve un token di identità OpenID Connect per la
utente effettivo, se è stato concesso l'ambito openid . |
getInstallationSource() | InstallationSource | Restituisce un valore enum che indica come lo script è stato installato come componente aggiuntivo per il utente corrente (ad esempio, se l'utente l'ha installato personalmente tramite Chrome Web o se sono state installate da un amministratore di dominio per tutti gli utenti). |
getOAuthToken() | String | Ottiene l'accesso OAuth 2.0 per l'utente effettivo. |
getProjectTriggers() | Trigger[] | Recupera tutti i trigger installabili associati al progetto e all'utente corrente. |
getScriptId() | String | Restituisce l'ID univoco del progetto di script. |
getService() | Service | Ottiene un oggetto utilizzato per controllare la pubblicazione dello script come app web. |
getUserTriggers(document) | Trigger[] | Recupera tutti i trigger installabili di proprietà di questo utente nel documento specificato, per questo script o solo componente aggiuntivo. |
getUserTriggers(form) | Trigger[] | Recupera tutti i trigger installabili di proprietà di questo utente nel modulo specificato, per questo script o componente aggiuntivo . |
getUserTriggers(spreadsheet) | Trigger[] | Recupera tutti i trigger installabili di proprietà di questo utente nel foglio di lavoro specificato, per questo script o solo componente aggiuntivo. |
invalidateAuth() | void | Disattiva l'autorizzazione di cui l'utente effettivo dispone per eseguire lo script corrente. |
newStateToken() | StateTokenBuilder | Crea un builder per un token di stato che può essere utilizzato in un'API di callback (come un flusso OAuth). |
newTrigger(functionName) | TriggerBuilder | Avvia il processo di creazione di un trigger installabile che, quando viene attivato, chiama una determinata funzione. |
Documentazione dettagliata
deleteTrigger(trigger)
Rimuove l'attivatore specificato in modo che non venga più eseguito.
// Deletes all triggers in the current project. var triggers = ScriptApp.getProjectTriggers(); for (var 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
getAuthorizationInfo(authMode)
Restituisce un oggetto utilizzato per determinare se l'utente deve autorizzare questo script a utilizzare uno o altri servizi e per fornire l'URL per una finestra di dialogo di autorizzazione. Se lo script viene pubblicato come componente aggiuntivo che utilizza trigger installabili, queste informazioni possono essere utilizzato per controllare l'accesso alle sezioni di codice per le quali l'utente non dispone dei autorizzazione. In alternativa, il componente aggiuntivo può chiedere all'utente di aprire l'URL per l'autorizzazione per risolvere il problema.
var authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL); status = authInfo.getAuthorizationStatus(); url = authInfo.getAuthorizationUrl();
Parametri
Nome | Tipo | Descrizione |
---|---|---|
authMode | AuthMode | la modalità di autorizzazione per la quale vengono richieste le informazioni sull'autorizzazione; nel
nella maggior parte dei casi, il valore di authMode dovrebbe essere ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL) , poiché non esistono altre modalità di autorizzazione
richiede che gli utenti concedano l'autorizzazione |
Invio
AuthorizationInfo
: un oggetto che può fornire informazioni sullo stato di autorizzazione dell'utente.
getIdentityToken()
Riceve un token di identità OpenID Connect per la
utente effettivo, se è stato concesso l'ambito openid
. 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 altri dati
informazioni sull'utente nel token.
Il token ID restituito è un JSON Web Token (JWT) codificato e deve essere decodificato per estrarne informazioni. I seguenti esempi mostrano come decodificare il token ed estrai l'ID profilo Google dell'utente effettivo.
var idToken = ScriptApp.getIdentityToken(); var body = idToken.split('.')[1]; var decoded = Utilities.newBlob(Utilities.base64Decode(body)).getDataAsString(); var payload = JSON.parse(decoded); var profileId = payload.sub; Logger.log('Profile ID: ' + profileId);Vedi OpenID Connect documentazione per l'elenco completo dei campi (rivendicazioni) restituiti.
Invio
String
: il token di identità, se disponibile. altrimenti null
.
getInstallationSource()
Restituisce un valore enum che indica come lo script è stato installato come componente aggiuntivo per il utente corrente (ad esempio, se l'utente l'ha installato personalmente tramite Chrome Web o se sono state installate da un amministratore di dominio per tutti gli utenti).
Invio
InstallationSource
: origine dell'installazione.
getOAuthToken()
Ottiene l'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 (ad esempio selettore Google), gli script possono bypassare la secondo prompt di autorizzazione passando questo token. Il token scade dopo un determinato momento (una pochi minuti al minimo); devono gestire gli errori di autorizzazione e chiamare questo metodo a e ottenere un nuovo token quando necessario.
Il token restituito da questo metodo include solo gli ambiti attualmente necessari allo script. Gli ambiti che in precedenza erano autorizzati, ma che non sono più utilizzati dallo script, non sono inclusi in il token restituito. Se sono necessari ambiti OAuth aggiuntivi oltre allo script stesso richiede, possono essere specificati nel campo manifest.
Invio
String
: una rappresentazione stringa del token OAuth 2.0.
getProjectTriggers()
Recupera tutti i trigger 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 al 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
getScriptId()
Restituisce 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 ovunque
in cui è stata fornita in precedenza la chiave di progetto.getProjectKey()
Invio
String
: ID del progetto dello script.
getService()
Ottiene un oggetto utilizzato per controllare la pubblicazione dello script come app web.
// Get the URL of the published web app. var url = ScriptApp.getService().getUrl();
Invio
Service
: un oggetto utilizzato per osservare e controllare la pubblicazione dello script come app web.
getUserTriggers(document)
Recupera tutti i trigger installabili di proprietà di questo utente nel documento specificato, per questo script o solo componente aggiuntivo. Questo metodo non può essere utilizzato per visualizzare gli attivatori associati ad altri script.
var doc = DocumentApp.getActiveDocument(); var 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 trigger 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
getUserTriggers(form)
Recupera tutti i trigger installabili di proprietà di questo utente nel modulo specificato, per questo script o componente aggiuntivo . Questo metodo non può essere utilizzato per visualizzare gli attivatori associati ad altri script.
var form = FormApp.getActiveForm(); var 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
getUserTriggers(spreadsheet)
Recupera tutti i trigger installabili di proprietà di questo utente nel foglio di lavoro specificato, per questo script o solo componente aggiuntivo. Questo metodo non può essere utilizzato per visualizzare gli attivatori associati ad altri script.
var ss = SpreadsheetApp.getActiveSpreadsheet(); var 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
invalidateAuth()
Disattiva l'autorizzazione di cui l'utente effettivo dispone per eseguire lo script corrente. Utilizzato per invalida qualsiasi autorizzazione per lo script corrente. Ciò è particolarmente utile per le funzioni con autorizzazione one-shot. Poiché le funzioni di autorizzazione one-shot possono essere chiamate solo eseguirla per la prima volta dopo che lo script ha acquisito l'autorizzazione, se vuoi eseguire un'azione in seguito, devi revocare l'autorizzazione dello script, in modo che l'utente possa visualizzare finestra di dialogo di autorizzazione.
ScriptApp.invalidateAuth();
Lanci
Error
: quando l'annullamento della convalida non va a buon fine
newStateToken()
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. var scriptUrl = 'https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz'; var urlSuffix = '/usercallback?state='; var stateToken = ScriptApp.newStateToken() .withMethod(callbackFunction) .withTimeout(120) .createToken(); return scriptUrl + urlSuffix + stateToken; }
Nella maggior parte dei flussi OAuth2, il token state
viene passato all'endpoint di autorizzazione
(non come parte dell'URL di callback), e l'endpoint di autorizzazione lo passa quindi come
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 all'indirizzo
https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback?state=token_generated_with_this_method&other_params_that_include_tokens_or_grants
- Il reindirizzamento precedente (torna a
http://script.google.com/...
) fa sì che il browser a/usercallback
, che richiama il metodo specificato daStateTokenBuilder.withMethod(method)
.
Invio
StateTokenBuilder
: un oggetto utilizzato per continuare il processo di creazione di token di stato.
newTrigger(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 |
---|---|---|
functionName | String | La funzione da chiamare quando si attiva l'attivatore. Puoi utilizzare le funzioni
librerie incluse, come Library.libFunction1 . |
Invio
TriggerBuilder
: un oggetto utilizzato per continuare il processo di creazione dei 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