Dostęp do publikowania skryptów i aktywatorów oraz manipulowanie nimi. Ta klasa pozwala użytkownikom tworzyć aktywatory skryptu i kontrolować publikowanie skryptu jako usługi.
Właściwości
Właściwość | Typ | Opis |
---|---|---|
AuthMode | AuthMode | Wyliczenie określające kategorie autoryzowanych usług, które Apps Script może wykonywać za pomocą aktywowanej funkcji. |
AuthorizationStatus | AuthorizationStatus | Wyliczenie określające stan autoryzacji skryptu. |
EventType | EventType | Wyliczenie określające typ wywołanego zdarzenia. |
InstallationSource | InstallationSource | Wyliczenie określające sposób, w jaki skrypt został zainstalowany u użytkownika jako dodatek. |
TriggerSource | TriggerSource | Wyliczenie wskazujące ź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 dany aktywator, aby nie był już uruchamiany. |
getAuthorizationInfo(authMode) | AuthorizationInfo | Pobiera obiekt służący do określenia, czy użytkownik musi autoryzować ten skrypt, aby korzystał z co najmniej 1 usługi, oraz aby podać adres URL okna autoryzacji. |
getIdentityToken() | String | Pobiera token tożsamości OpenID Connect dla efektywnego użytkownika, jeśli został przydzielony zakres openid . |
getInstallationSource() | InstallationSource | Zwraca wartość wyliczeniową wskazującą, w jaki sposób skrypt został zainstalowany jako dodatek u bieżącego użytkownika (np. czy użytkownik zainstalował go osobiście ze sklepu Chrome Web Store lub czy administrator domeny zainstalował go dla wszystkich użytkowników). |
getOAuthToken() | String | Pobiera token dostępu OAuth 2.0 dla odpowiedniego użytkownika. |
getProjectTriggers() | Trigger[] | Pobiera wszystkie aktywatory do zainstalowania powiązane z bieżącym projektem i bieżącym użytkownikiem. |
getScriptId() | String | Pobiera unikalny identyfikator projektu skryptu. |
getService() | Service | Pobiera obiekt służący do kontrolowania publikowania skryptu jako aplikacji internetowej. |
getUserTriggers(document) | Trigger[] | Pobiera wszystkie wyzwalacze możliwe do zainstalowania, które należą do tego użytkownika w danym dokumencie, tylko dla tego skryptu lub dodatku. |
getUserTriggers(form) | Trigger[] | Pobiera wszystkie aktywatory, które można zainstalować, należące do tego użytkownika w podanej formie, tylko dla tego skryptu lub dodatku. |
getUserTriggers(spreadsheet) | Trigger[] | Pobiera wszystkie aktywatory, które można zainstalować, należące do tego użytkownika w danym arkuszu kalkulacyjnym. Dotyczy to tylko tego skryptu lub dodatku. |
invalidateAuth() | void | Unieważnia autoryzację użytkownika, który ma wykonać bieżący skrypt. |
newStateToken() | StateTokenBuilder | Tworzy kreator dla tokena stanu, którego można używać w interfejsie API wywołania zwrotnego (np. w przepływie OAuth). |
newTrigger(functionName) | TriggerBuilder | Rozpoczyna proces tworzenia konfigurowalnego aktywatora, który po uruchomieniu wywołuje określoną funkcję. |
Szczegółowa dokumentacja
deleteTrigger(trigger)
Usuwa dany aktywator, aby nie był już uruchamiany.
// 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 | Reguła do usunięcia. |
Upoważnienie
Skrypty korzystające z tej metody wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/script.scriptapp
getAuthorizationInfo(authMode)
Pobiera obiekt służący do określenia, czy użytkownik musi autoryzować ten skrypt, aby korzystał z co najmniej 1 usługi, oraz aby podać adres URL okna autoryzacji. Jeśli skrypt został opublikowany jako dodatek korzystający z reguł do zainstalowania, informacje te mogą służyć do kontrolowania dostępu do tych sekcji kodu, do których użytkownik nie ma niezbędnej autoryzacji. Dodatek może też poprosić użytkownika o otwarcie adresu URL okna 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 żądane są informacje o autoryzacji; niemal we wszystkich przypadkach wartość authMode powinna wynosić ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL) , ponieważ żaden inny tryb autoryzacji nie wymaga od użytkowników uwierzytelniania |
Powroty
AuthorizationInfo
– obiekt, który może zawierać informacje o stanie autoryzacji użytkownika;
getIdentityToken()
Pobiera token tożsamości OpenID Connect dla efektywnego użytkownika, jeśli został przydzielony zakres openid
. Ten zakres nie jest domyślnie uwzględniany. Aby go zażądać, musisz dodać go jako zakres jawny w pliku manifestu. Dodaj zakresy https://www.googleapis.com/auth/userinfo.email
lub https://www.googleapis.com/auth/userinfo.profile
, aby zwrócić w tokenie dodatkowe informacje o użytkowniku.
Zwrócony token identyfikatora jest zakodowanym tokenem sieciowym JSON (JWT) i musi zostać zdekodowany, aby wyodrębnić z niego informacje. Poniższe przykłady pokazują, jak zdekodować token i wyodrębnić identyfikator efektywnego 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.
Powroty
String
– token tożsamości, jeśli jest dostępny. W przeciwnym razie null
.
getInstallationSource()
Zwraca wartość wyliczeniową wskazującą, w jaki sposób skrypt został zainstalowany jako dodatek u bieżącego użytkownika (np. czy użytkownik zainstalował go osobiście ze sklepu Chrome Web Store lub czy administrator domeny zainstalował go dla wszystkich użytkowników).
Powroty
InstallationSource
– źródło instalacji.
getOAuthToken()
Pobiera token dostępu OAuth 2.0 dla odpowiedniego 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. Google Picker), skrypty mogą pominąć drugi wiersz autoryzacji, przekazując ten token zamiast tego. Token wygasa po pewnym czasie (minimum kilka minut). Skrypty powinny obsługiwać błędy autoryzacji i w razie potrzeby wywoływać tę metodę, aby uzyskać nowy token.
Token zwrócony przez tę metodę zawiera tylko zakresy, których skrypt obecnie potrzebuje. 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, które wykraczają poza te wymagane w skrypcie, można je określić w pliku manifestu skryptu.
Powroty
String
– reprezentacja tokena OAuth 2.0 w postaci ciągu znaków.
getProjectTriggers()
Pobiera wszystkie aktywatory do zainstalowania powiązane z bieżącym projektem i bieżącym użytkownikiem.
Logger.log('Current project has ' + ScriptApp.getProjectTriggers().length + ' triggers.');
Powroty
Trigger[]
– tablica wyzwalaczy bieżącego użytkownika powiązanych z tym projektem.
Upoważnienie
Skrypty korzystające z tej metody wymagają autoryzacji z co najmniej jednym 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
. Można go używać we wszystkich miejscach, w których podano wcześniej klucz projektu.getProjectKey()
Powroty
String
– identyfikator projektu skryptu.
getService()
Pobiera obiekt służący do kontrolowania publikowania skryptu jako aplikacji internetowej.
// Get the URL of the published web app. var url = ScriptApp.getService().getUrl();
Powroty
Service
– obiekt używany do obserwowania i kontrolowania publikowania skryptu jako aplikacji internetowej.
getUserTriggers(document)
Pobiera wszystkie wyzwalacze możliwe do zainstalowania, które należą do tego użytkownika w danym dokumencie, tylko dla tego skryptu lub dodatku. Nie można używać tej metody, aby zobaczyć aktywatory dołączone 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ć wyzwalacze możliwe do zainstalowania. |
Powroty
Trigger[]
– tablica aktywatorów należących do danego użytkownika w danym dokumencie.
Upoważnienie
Skrypty korzystające z tej metody wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/script.scriptapp
getUserTriggers(form)
Pobiera wszystkie aktywatory, które można zainstalować, należące do tego użytkownika w podanej formie, tylko dla tego skryptu lub dodatku. Nie można używać tej metody, aby zobaczyć aktywatory dołączone 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ć aktywatory, które można zainstalować. |
Powroty
Trigger[]
– tablica aktywatorów należących do danego użytkownika w określonej formie.
Upoważnienie
Skrypty korzystające z tej metody wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/script.scriptapp
getUserTriggers(spreadsheet)
Pobiera wszystkie aktywatory, które można zainstalować, należące do tego użytkownika w danym arkuszu kalkulacyjnym. Dotyczy to tylko tego skryptu lub dodatku. Nie można używać tej metody, aby zobaczyć aktywatory dołączone 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ć aktywatory, które można zainstalować. |
Powroty
Trigger[]
– tablica wyzwalaczy należących do danego użytkownika w danym arkuszu kalkulacyjnym.
Upoważnienie
Skrypty korzystające z tej metody wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/script.scriptapp
invalidateAuth()
Unieważnia autoryzację użytkownika, który ma wykonać bieżący skrypt. Służy do unieważnienia wszystkich uprawnień dla bieżącego skryptu. Jest to szczególnie przydatne w przypadku funkcji oznaczonych jako autoryzacja one-shot. Funkcje autoryzacji jednorazowej mogą być wywoływane tylko przy pierwszym uruchomieniu po uzyskaniu autoryzacji przez skrypt. Jeśli więc zechcesz wykonać działanie później, musisz cofnąć autoryzację, którą miał skrypt, aby użytkownik mógł ponownie wyświetlić okno autoryzacji.
ScriptApp.invalidateAuth();
Rzuty
Error
– gdy unieważnienie nie powiedzie się
newStateToken()
Tworzy kreator dla tokena stanu, którego można używać w interfejsie API wywołania zwrotnego (np. w przepływie 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 przepływów OAuth2 token state
jest przekazywany bezpośrednio do punktu końcowego autoryzacji (nie jako część adresu URL wywołania zwrotnego), a punkt końcowy autoryzacji przekazuje go jako część adresu URL wywołania zwrotnego.
Na przykład:
- Skrypt przekierowuje użytkownika do adresu URL autoryzacji 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
- Użytkownik klika „Autoryzuj”, 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)
.
Powroty
StateTokenBuilder
– obiekt używany do kontynuowania procesu kompilowania tokena stanu.
newTrigger(functionName)
Rozpoczyna proces tworzenia konfigurowalnego aktywatora, który 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, która ma zostać wywołana po uruchomieniu reguły. Możesz używać funkcji z dołączonych bibliotek, takich jak Library.libFunction1 . |
Powroty
TriggerBuilder
– obiekt używany do kontynuowania procesu konstruowania reguły.
Upoważnienie
Skrypty korzystające z tej metody wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/script.scriptapp