Dostęp do publikowania skryptu i jego uruchamiania oraz możliwość ich modyfikowania. Ta klasa umożliwia użytkownikom tworzenie wyzwalaczy skryptu i kontrolowanie publikowania skryptu jako usługi.
Właściwości
Właściwość | Typ | Opis |
---|---|---|
Auth | Auth | Wyliczenie określające, które kategorie autoryzowanych usług może wykonywać Apps Script za pomocą funkcji wywoływanej. |
Authorization | Authorization | Wyliczenie określające stan autoryzacji skryptu. |
Event | Event | Wyliczenie określające typ wywołanego zdarzenia. |
Installation | Installation | Wyliczenie określające, jak skrypt został zainstalowany u użytkownika jako dodatek. |
Trigger | Trigger | Wyliczenie określające źródło zdarzenia, które powoduje uruchomienie reguły. |
Week | Weekday | Wyliczenie reprezentujące dni tygodnia. |
Metody
Metoda | Zwracany typ | Krótki opis |
---|---|---|
delete | void | Usuwa dany regułę, aby nie była już wykonywana. |
get | Authorization | Pobiera obiekt służący do określenia, czy użytkownik musi autoryzować ten skrypt do korzystania z jednej lub większej liczby usług, oraz do podania adresu URL okna autoryzacji. |
get | String | Pobiera token tożsamości Openopenid został przyznany. |
get | Installation | Zwraca wartość typu 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 też administrator domeny zainstalował go dla wszystkich użytkowników). |
get | String | Pobiera token dostępu OAuth 2.0 dla skutecznego użytkownika. |
get | Trigger[] | Pobiera wszystkie instalowalne wyzwalacze powiązane z bieżącym projektem i bieżącym użytkownikiem. |
get | String | Pobiera unikalny identyfikator projektu skryptu. |
get | Service | Pobiera obiekt służący do kontrolowania publikowania skryptu jako aplikacji internetowej. |
get | Trigger[] | Pobiera wszystkie wyzwalacze, które można zainstalować, należące do tego użytkownika w danym dokumencie, tylko w przypadku tego skryptu lub tego dodatku. |
get | Trigger[] | Pobiera wszystkie wyzwalacze do zainstalowania należące do tego użytkownika w danym formularzu, tylko w przypadku tego skryptu lub dodatku. |
get | Trigger[] | Pobiera wszystkie wyzwalacze, które można zainstalować, należące do tego użytkownika w danym arkuszu kalkulacyjnym, tylko w przypadku tego skryptu lub dodatku. |
invalidate | void | unieważnia autoryzację, którą użytkownik ma do wykonania bieżącego skryptu; |
new | State | Tworzy kreator tokenu stanu, który można używać w interfejsie wywołania zwrotnego API (np. w procesie OAuth). |
new | Trigger | Rozpoczyna proces tworzenia instalowanego aktywatora, który po uruchomieniu wywołuje określoną funkcję. |
Szczegółowa dokumentacja
delete Trigger(trigger)
Usuwa dany regułę, aby nie była już wykonywana.
// Deletes all triggers in the current project. const triggers = ScriptApp.getProjectTriggers(); for (let i = 0; i < triggers.length; i++) { ScriptApp.deleteTrigger(triggers[i]); }
Parametry
Nazwa | Typ | Opis |
---|---|---|
trigger | Trigger | Aktywator, który chcesz usunąć. |
Autoryzacja
Skrypty, które korzystają z tej metody, wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/script.scriptapp
get Authorization Info(authMode)
Pobiera obiekt służący do określenia, czy użytkownik musi autoryzować ten skrypt do korzystania z jednej lub większej liczby usług, oraz do podania adresu URL okna autoryzacji. Jeśli skrypt jest opublikowany jako dodatek korzystający z instalowalnych wyzwalaczy, te informacje mogą służyć do kontrolowania dostępu do sekcji kodu, do których użytkownik nie ma odpowiednich uprawnień. Dodatek może też poprosić użytkownika o otworzenie 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 |
---|---|---|
auth | Auth | tryb autoryzacji, dla którego żądane są informacje autoryzacyjne; w prawie wszystkich przypadkach wartość parametru auth powinna wynosić Script , ponieważ żaden inny tryb autoryzacji nie wymaga udzielenia autoryzacji przez użytkowników. |
Powrót
Authorization
– obiekt, który może zawierać informacje o stanie autoryzacji użytkownika.
get Identity Token()
Pobiera token tożsamości Openopenid
został przyznany. Ten zakres nie jest domyślnie uwzględniany. Aby go zażądać, musisz go dodać jako wyraźny zakres w pliku manifestu. Uwzględnij 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 to zakodowany token sieciowy JSON (JWT), który musi zostać odkodowany, aby wyodrębnić z niego informacje. Poniższe przykłady pokazują, jak odkodować token i wyodrębnić identyfikator profilu Google skutecznego użytkownika.
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}`);Pełną listę zwracanych pól (roszczeń) znajdziesz w dokumentacji Open
Powrót
String
– token tożsamości (jeśli jest dostępny), w przeciwnym razie null
.
get Installation Source()
Zwraca wartość typu 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 też administrator domeny zainstalował go dla wszystkich użytkowników).
Powrót
Installation
– źródło instalacji.
get OAuth Token()
Pobiera token dostępu OAuth 2.0 dla skutecznego użytkownika. Jeśli zakresy OAuth skryptu wystarczają do autoryzacji innego interfejsu API Google, który zwykle wymaga własnego procesu OAuth (np. Google Picker), skrypty mogą pominąć drugie okno autoryzacji, przekazując ten token. Token wygasa po pewnym czasie (co najmniej po kilku minutach). Skrypty powinny obsługiwać błędy autoryzacji i w razie potrzeby wywoływać tę metodę, aby uzyskać nowy token.
Token zwracany przez tę metodę obejmuje tylko zakresy, których potrzebuje skrypt. Zakresy, które zostały wcześniej autoryzowane, ale nie są już używane przez skrypt, nie są uwzględniane w zwróconym tokenie. Jeśli oprócz zakresów wymaganych przez skrypt potrzebne są dodatkowe zakresy OAuth, można je określić w pliku manifestu skryptu.
Powrót
String
– reprezentacja ciągu znaków tokena OAuth 2.0.
get Project Triggers()
Pobiera wszystkie instalowalne wyzwalacze powiązane z bieżącym projektem i bieżącym użytkownikiem.
Logger.log( `Current project has ${ScriptApp.getProjectTriggers().length} triggers.`, );
Powrót
Trigger[]
– tablica wyzwalaczy bieżącego użytkownika powiązanych z tym projektem.
Autoryzacja
Skrypty, które korzystają z tej metody, wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/script.scriptapp
get Script Id()
Pobiera unikalny identyfikator projektu skryptu. To preferowana metoda uzyskiwania niepowtarzalnego identyfikatora projektu skryptu, a nie
. Tego identyfikatora można używać we wszystkich miejscach, w których wcześniej podano klucz projektu.get
Powrót
String
– identyfikator projektu skryptu.
get Service()
Pobiera obiekt służący do kontrolowania publikowania skryptu jako aplikacji internetowej.
// Get the URL of the published web app. const url = ScriptApp.getService().getUrl();
Powrót
Service
– obiekt służący do obserwowania i sterowania publikowaniem skryptu jako aplikacji internetowej.
get User Triggers(document)
Pobiera wszystkie wyzwalacze, które można zainstalować, należące do tego użytkownika w danym dokumencie, tylko w przypadku tego skryptu lub tego dodatku. Nie można jej używać do wyświetlania wyzwalaczy dołączonych do innych skryptów.
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());
Parametry
Nazwa | Typ | Opis |
---|---|---|
document | Document | Plik Dokumentów Google, który może zawierać instalowane wyzwalacze. |
Powrót
Trigger[]
– tablica wyzwalaczy należących do tego użytkownika w danym dokumencie.
Autoryzacja
Skrypty, które korzystają z tej metody, wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/script.scriptapp
get User Triggers(form)
Pobiera wszystkie wyzwalacze do zainstalowania należące do tego użytkownika w danym formularzu, tylko w przypadku tego skryptu lub dodatku. Nie można jej używać do wyświetlania wyzwalaczy dołączonych do innych skryptów.
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());
Parametry
Nazwa | Typ | Opis |
---|---|---|
form | Form | Plik Formularzy Google, który może zawierać instalowane reguły. |
Powrót
Trigger[]
– tablica elementów wyzwalających należących do tego użytkownika w danym formularzu.
Autoryzacja
Skrypty, które korzystają z tej metody, wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/script.scriptapp
get User Triggers(spreadsheet)
Pobiera wszystkie wyzwalacze, które można zainstalować, należące do tego użytkownika w danym arkuszu kalkulacyjnym, tylko w przypadku tego skryptu lub dodatku. Nie można jej używać do wyświetlania wyzwalaczy dołączonych do innych skryptów.
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());
Parametry
Nazwa | Typ | Opis |
---|---|---|
spreadsheet | Spreadsheet | Plik Arkuszy Google, który może zawierać instalowane reguły. |
Powrót
Trigger[]
– tablica wyzwalaczy należących do tego użytkownika w danym arkuszu kalkulacyjnym.
Autoryzacja
Skrypty, które korzystają z tej metody, wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/script.scriptapp
invalidate Auth()
unieważnia autoryzację, którą użytkownik ma do wykonania bieżącego skryptu; Służy do unieważniania wszystkich uprawnień dla bieżącego skryptu. Jest to szczególnie przydatne w przypadku funkcji oznaczonych jako autoryzacja jednorazowa. Funkcja jednorazowej autoryzacji może zostać wywołana tylko podczas pierwszego uruchomienia skryptu po uzyskaniu autoryzacji. Jeśli chcesz wykonać jakieś działanie później, musisz cofnąć autoryzację skryptu, aby użytkownik mógł ponownie wyświetlić okno autoryzacji.
ScriptApp.invalidateAuth();
Rzuty
Error
– gdy unieważnienie się nie powiedzie,
new State Token()
Tworzy kreator tokenu stanu, który można używać w interfejsie wywołania zwrotnego (np. w procesie 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; }
W większości ścieżek 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 OAuth 2:
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 go 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 (z powrotem do
http://script.google.com/...
) powoduje, że przeglądarka wysyła żądanie do/usercallback
, które wywołuje metodę określoną przezState
.Token Builder.withMethod(method)
Powrót
State
– obiekt używany do kontynuowania procesu tworzenia tokenu stanu.
new Trigger(functionName)
Rozpoczyna proces tworzenia instalowanego 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 |
---|---|---|
function | String | Funkcja do wywołania po uruchomieniu reguły. Możesz używać funkcji z dołączonych bibliotek, takich jak Library.libFunction1 . |
Powrót
Trigger
– obiekt używany do kontynuowania procesu tworzenia reguły.
Autoryzacja
Skrypty, które korzystają z tej metody, wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/script.scriptapp