Class ScriptApp

ScriptApp

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śćTypOpis
AuthModeAuthModeWyliczenie określające kategorie autoryzowanych usług, które Apps Script może wykonywać za pomocą aktywowanej funkcji.
AuthorizationStatusAuthorizationStatusWyliczenie określające stan autoryzacji skryptu.
EventTypeEventTypeWyliczenie określające typ wywołanego zdarzenia.
InstallationSourceInstallationSourceWyliczenie określające sposób, w jaki skrypt został zainstalowany u użytkownika jako dodatek.
TriggerSourceTriggerSourceWyliczenie wskazujące źródło zdarzenia, które powoduje uruchomienie reguły.
WeekDayWeekdayWyliczenie reprezentujące dni tygodnia.

Metody

MetodaZwracany typKrótki opis
deleteTrigger(trigger)voidUsuwa dany aktywator, aby nie był już uruchamiany.
getAuthorizationInfo(authMode)AuthorizationInfoPobiera 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()StringPobiera token tożsamości OpenID Connect dla efektywnego użytkownika, jeśli został przydzielony zakres openid.
getInstallationSource()InstallationSourceZwraca 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()StringPobiera 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()StringPobiera unikalny identyfikator projektu skryptu.
getService()ServicePobiera 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()voidUnieważnia autoryzację użytkownika, który ma wykonać bieżący skrypt.
newStateToken()StateTokenBuilderTworzy kreator dla tokena stanu, którego można używać w interfejsie API wywołania zwrotnego (np. w przepływie OAuth).
newTrigger(functionName)TriggerBuilderRozpoczyna 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

NazwaTypOpis
triggerTriggerReguł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

NazwaTypOpis
authModeAuthModetryb 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 getProjectKey(). Można go używać we wszystkich miejscach, w których podano wcześniej klucz projektu.

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

NazwaTypOpis
documentDocumentPlik 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

NazwaTypOpis
formFormPlik 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

NazwaTypOpis
spreadsheetSpreadsheetPlik 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ą przez StateTokenBuilder.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

NazwaTypOpis
functionNameStringFunkcja, 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

Wycofane metody