Dostęp do skryptów i reguł, a także manipulowanie nimi. Ta klasa umożliwia użytkownikom tworzenie aktywatorów skryptu i kontrolowanie publikowania jako usługi.
Właściwości
Właściwość | Typ | Opis |
---|---|---|
AuthMode | AuthMode | Wyliczenie, które kategorie autoryzowanych usług Apps Script mogą wykonywać za pomocą aktywowanej funkcji. |
AuthorizationStatus | AuthorizationStatus | Opis wskazujący stan autoryzacji skryptu. |
EventType | EventType | Opis określający typ wywołanego zdarzenia. |
InstallationSource | InstallationSource | Określenie, w jaki sposób skrypt został zainstalowany na urządzeniu użytkownika jako dodatek. |
TriggerSource | TriggerSource | Opis wskazujący źródło zdarzenia, które powoduje uruchomienie reguły. |
WeekDay | Weekday | Wyliczenie reprezentujące dni tygodnia. |
Metody
Metoda | Zwracany typ | Krótki opis |
---|---|---|
deleteTrigger(trigger) | void | Usuwa daną regułę, co powoduje jej wyłączenie. |
getAuthorizationInfo(authMode) | AuthorizationInfo | Pobiera obiekt określający, czy użytkownik musi upoważnić ten skrypt do korzystania z co najmniej jednej usługi, oraz podać URL w oknie autoryzacji. |
getIdentityToken() | String | Pobiera token tożsamości OpenID Connect dla odpowiedniego użytkownika, jeśli przyznano zakres openid . |
getInstallationSource() | InstallationSource | Zwraca wartość enum, która wskazuje, jak skrypt został zainstalowany jako dodatek dla bieżącego użytkownika (np. czy użytkownik zainstalował go osobiście w Chrome Web Store czy przez administratora domeny u wszystkich użytkowników). |
getOAuthToken() | String | Pobiera token dostępu OAuth 2.0 dla rzeczywistego użytkownika. |
getProjectTriggers() | Trigger[] | Pobiera wszystkie możliwe do zainstalowania reguły powiązane z bieżącym projektem i bieżącym użytkownikiem. |
getScriptId() | String | Pobiera unikalny identyfikator projektu skryptu. |
getService() | Service | Pobiera obiekt używany do kontrolowania skryptu jako aplikacji internetowej. |
getUserTriggers(document) | Trigger[] | Pobiera wszystkie możliwe do zainstalowania wyzwalacze należące do tego użytkownika w danym dokumencie tylko dla tego skryptu lub dodatku. |
getUserTriggers(form) | Trigger[] | Pobiera wszystkie możliwe do zainstalowania reguły należące do tego użytkownika w danym formularzu tylko dla tego skryptu lub dodatku. |
getUserTriggers(spreadsheet) | Trigger[] | Pobiera wszystkie możliwe do zainstalowania aktywatory należące do tego użytkownika w danym arkuszu kalkulacyjnym wyłącznie dla tego skryptu lub dodatku. |
invalidateAuth() | void | Unieważnianie autoryzacji, który musi wykonać obecny użytkownik. |
newStateToken() | StateTokenBuilder | Tworzy konstruktor tokenu stanu, którego można użyć w interfejsie API wywołania zwrotnego (np. proces OAuth). |
newTrigger(functionName) | TriggerBuilder | Rozpoczyna proces tworzenia reguły możliwej do zainstalowania, która po uruchomieniu wywołuje określoną funkcję. |
Szczegółowa dokumentacja
deleteTrigger(trigger)
Usuwa daną regułę, co powoduje jej wyłączenie.
// Deletes all triggers in the current project. var triggers = ScriptApp.getProjectTriggers(); for (var i = 0; i < triggers.length; i++) { ScriptApp.deleteTrigger(triggers[i]); }
Parametry
Nazwa | Typ | Opis |
---|---|---|
trigger | Trigger | Aktywator do usunięcia. |
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.scriptapp
getAuthorizationInfo(authMode)
Pobiera obiekt określający, czy użytkownik musi upoważnić ten skrypt do korzystania z co najmniej jednej usługi, oraz podać URL w oknie autoryzacji. Jeśli skrypt zostanie opublikowany jako dodatek, który korzysta z instalacyjnych reguł, możesz wykorzystać te informacje do kontrolowania dostępu do sekcji kodu, w przypadku których użytkownik nie ma wymaganych uprawnień. Dodatek może też poprosić użytkownika o otworzenie adresu URL okna dialogowego autoryzacji w celu rozwiązania problemu.
var authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL); status = authInfo.getAuthorizationStatus(); url = authInfo.getAuthorizationUrl();
Parametry
Nazwa | Typ | Opis |
---|---|---|
authMode | AuthMode | tryb autoryzacji, w przypadku którego wymagane są informacje o autoryzacji. Prawie w każdym przypadku wartość authMode powinna wynosić ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL) , bo żaden inny tryb autoryzacji nie wymaga, aby użytkownicy udzielali autoryzacji. |
Zwróć
AuthorizationInfo
– obiekt, który może podawać informacje o stanie autoryzacji użytkownika.
getIdentityToken()
Pobiera token tożsamości OpenID Connect dla odpowiedniego użytkownika, jeśli przyznano zakres openid
. Ten zakres nie jest domyślnie uwzględniany i musisz go dodać jako zakres ograniczony do pliku manifestu, by o niego poprosić. Uwzględnij zakresy https://www.googleapis.com/auth/userinfo.email
lub https://www.googleapis.com/auth/userinfo.profile
, aby zwrócić dodatkowe informacje o tokenie w tokenie.
Zwrócony token identyfikatora jest zakodowanym tokenem internetowym JSON (JWT) i musi zostać zdekodowany, aby można było pobrać z niego informacje. Poniższy przykład pokazuje, jak zdekodować token i wyodrębnić efektywny identyfikator profilu Google użytkownika.
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);Pełną listę zwróconych pól (roszczeń) znajdziesz w dokumentacji OpenID Connect.
Zwróć
String
– token tożsamości, jeśli jest dostępny; w przeciwnym razie null
.
getInstallationSource()
Zwraca wartość enum, która wskazuje, jak skrypt został zainstalowany jako dodatek dla bieżącego użytkownika (np. czy użytkownik zainstalował go osobiście w Chrome Web Store czy przez administratora domeny u wszystkich użytkowników).
Zwróć
InstallationSource
– źródło instalacji,
getOAuthToken()
Pobiera token dostępu OAuth 2.0 dla rzeczywistego użytkownika. Jeśli zakresy OAuth skryptu są wystarczające do autoryzacji innego interfejsu API Google, który zwykle wymaga własnego przepływu OAuth (np. Selektora Google), skrypty mogą pomijać drugi wiersz autoryzacji, przekazując ten token. Token wygaśnie po pewnym czasie (co najmniej kilka minut). Skrypty powinny obsługiwać błędy autoryzacji i wywoływać tę metodę w razie potrzeby, aby uzyskać nowy token.
Token zwrócony przez tę metodę zawiera tylko te zakresy, których obecnie potrzebuje skrypt. Zakresy, które były wcześniej autoryzowane, ale nie są już używane przez skrypt, nie są uwzględniane w zwróconym tokenie. Jeśli potrzebne są dodatkowe zakresy OAuth poza tymi, które są wymagane przez skrypt, możesz je określić w pliku manifestu skryptu.
Zwróć
String
– ciąg tekstowy reprezentujący token OAuth 2.0;
getProjectTriggers()
Pobiera wszystkie możliwe do zainstalowania reguły powiązane z bieżącym projektem i bieżącym użytkownikiem.
Logger.log('Current project has ' + ScriptApp.getProjectTriggers().length + ' triggers.');
Zwróć
Trigger[]
– tablica bieżącego aktywatora użytkownika powiązanego z tym projektem;
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.scriptapp
getScriptId()
Pobiera unikalny identyfikator projektu skryptu. Jest to preferowana metoda uzyskiwania unikalnego identyfikatora projektu skryptu, a nie
. Identyfikatora można używać we wszystkich miejscach, w których wcześniej podano klucz projektu.getProjectKey()
Zwróć
String
– identyfikator projektu skryptu;
getService()
Pobiera obiekt używany do kontrolowania skryptu jako aplikacji internetowej.
// Get the URL of the published web app. var url = ScriptApp.getService().getUrl();
Zwróć
Service
– obiekt używany do obserwowania i kontrolowania skryptu jako aplikacji internetowej.
getUserTriggers(document)
Pobiera wszystkie możliwe do zainstalowania wyzwalacze należące do tego użytkownika w danym dokumencie tylko dla tego skryptu lub dodatku. Tej metody nie można używać do wyświetlania reguł dołączonych do innych skryptów.
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());
Parametry
Nazwa | Typ | Opis |
---|---|---|
document | Document | Plik Dokumentów Google, który może zawierać reguły, które można zainstalować. |
Zwróć
Trigger[]
– tablica reguł należących do tego użytkownika w danym dokumencie.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.scriptapp
getUserTriggers(form)
Pobiera wszystkie możliwe do zainstalowania reguły należące do tego użytkownika w danym formularzu tylko dla tego skryptu lub dodatku. Tej metody nie można używać do wyświetlania reguł dołączonych do innych skryptów.
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());
Parametry
Nazwa | Typ | Opis |
---|---|---|
form | Form | Plik Formularzy Google, który może zawierać reguły możliwe do zainstalowania. |
Zwróć
Trigger[]
– tablica reguł należących do tego użytkownika w danym formularzu.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.scriptapp
getUserTriggers(spreadsheet)
Pobiera wszystkie możliwe do zainstalowania aktywatory należące do tego użytkownika w danym arkuszu kalkulacyjnym wyłącznie dla tego skryptu lub dodatku. Tej metody nie można używać do wyświetlania reguł dołączonych do innych skryptów.
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());
Parametry
Nazwa | Typ | Opis |
---|---|---|
spreadsheet | Spreadsheet | Plik Arkuszy Google, który może zawierać reguły, które można zainstalować. |
Zwróć
Trigger[]
– tablica reguł należących do tego użytkownika w danym arkuszu kalkulacyjnym.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.scriptapp
invalidateAuth()
Unieważnianie autoryzacji, który musi wykonać obecny użytkownik. Służy do unieważnienia uprawnień do bieżącego skryptu. Jest to szczególnie przydatne w przypadku funkcji otagowanych jako autoryzacja 1-punktowa. Ze względu na to, że funkcje autoryzacji jednorazowej mogą być wywoływane wyłącznie po pierwszym uruchomieniu skryptu po uzyskaniu autoryzacji, więc po wykonaniu tego działania musisz cofnąć wszelkie upoważnienie, aby użytkownik mógł ponownie zobaczyć okno autoryzacji.
ScriptApp.invalidateAuth();
Narzuty
Error
– jeśli unieważnienie nie powiedzie się,
newStateToken()
Tworzy konstruktor tokenu stanu, którego można użyć w interfejsie API wywołania zwrotnego (np. proces 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; }
W większości procesów OAuth2 token state
jest przekazywany bezpośrednio do punktu końcowego autoryzacji (nie jest częścią adresu URL wywołania zwrotnego), a następnie przekazuje go jako część adresu URL wywołania zwrotnego.
Przykład:
- Skrypt przekierowuje użytkownika do autoryzacji OAuth2 adresu URL:
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
- Użytkownik klika autoryzację, a strona autoryzacji OAuth2 przekierowuje użytkownika z powrotem do
https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback?state=token_generated_with_this_method&other_params_that_include_tokens_or_grants
- Powyższe przekierowanie (powrót do
http://script.google.com/...
) powoduje wysłanie żądania przeglądarki do/usercallback
, które wywołuje metodę określoną przezStateTokenBuilder.withMethod(method)
.
Zwróć
StateTokenBuilder
– obiekt kontynuowany procesu kompilacji stanu.
newTrigger(functionName)
Rozpoczyna proces tworzenia reguły możliwej do zainstalowania, która po uruchomieniu wywołuje określoną funkcję.
// Creates an edit trigger for a spreadsheet identified by ID. ScriptApp.newTrigger('myFunction') .forSpreadsheet('1234567890abcdefghijklmnopqrstuvwxyz_a1b2c3') .onEdit() .create();
Parametry
Nazwa | Typ | Opis |
---|---|---|
functionName | String | Funkcja wywoływana po uruchomieniu reguły. Możesz użyć funkcji z uwzględnionych bibliotek, takich jak Library.libFunction1 . |
Zwróć
TriggerBuilder
– obiekt używany do kontynuowania procesu tworzenia aktywatorów;
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.scriptapp