Class ScriptApp

ScriptApp

Dostęp do publikowania skryptów i aktywatorów oraz manipulowanie nimi. Ta klasa umożliwia użytkownikom tworzenie skryptu i kontrolować publikowanie skryptu jako usługi.

Właściwości

WłaściwośćTypOpis
AuthModeAuthModeWyliczenie określające, do których kategorii autoryzowanych usług może mieć Apps Script za pomocą aktywowanej funkcji.
AuthorizationStatusAuthorizationStatusWyliczenie wskazujące stan autoryzacji skryptu.
EventTypeEventTypeWyliczenie określające typ wywołanego zdarzenia.
InstallationSourceInstallationSourceWyliczenie określające sposób zainstalowania skryptu jako dodatku na urządzeniu użytkownika.
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 daną regułę, aby przestała działać.
getAuthorizationInfo(authMode)AuthorizationInfoPobiera obiekt używany do określenia, czy użytkownik musi autoryzować ten skrypt, aby użyć jednego lub więcej usług i podać adres URL okna autoryzacji.
getIdentityToken()StringPobiera token tożsamości OpenID Connect dla platformy efektywny użytkownik, jeśli został przydzielony zakres openid.
getInstallationSource()InstallationSourceZwraca wartość wyliczeniową wskazującą, w jaki sposób skrypt został zainstalowany jako dodatek dla bieżącego użytkownika (na przykład czy użytkownik zainstalował je osobiście za pomocą przeglądarki Chrome), Store , czyli informacji o tym, czy administrator domeny zainstalował ją dla wszystkich użytkowników).
getOAuthToken()StringOtrzymuje dostęp OAuth 2.0 efektywnego użytkownika.
getProjectTriggers()Trigger[]Pobiera wszystkie możliwe do zainstalowania aktywatory powiązane z bieżącym projektem i bieżącym użytkownikiem.
getScriptId()StringPobiera unikalny identyfikator projektu skryptu.
getService()ServicePobiera obiekt używany do sterowania publikowaniem skryptu jako aplikacji internetowej.
getUserTriggers(document)Trigger[]Pobiera wszystkie instalowalne aktywatory należące do tego użytkownika w danym dokumencie dla tego skryptu lub tylko dodatek.
getUserTriggers(form)Trigger[]Pobiera wszystkie instalowalne aktywatory należące do tego użytkownika w podanym formularzu dla tego skryptu lub dodatku
getUserTriggers(spreadsheet)Trigger[]Pobiera wszystkie instalowalne aktywatory należące do tego użytkownika w danym arkuszu kalkulacyjnym dla tego skryptu lub tylko dodatek.
invalidateAuth()voidUnieważnia autoryzację, którą musi wykonać rzeczywisty użytkownik, aby wykonać bieżący skrypt.
newStateToken()StateTokenBuilderTworzy kreator dla tokena stanu, którego można używać w interfejsie API z wywołaniem zwrotnym (np. w przepływie OAuth).
newTrigger(functionName)TriggerBuilderRozpoczyna proces tworzenia instalacyjnego aktywatora, który po uruchomieniu wywołuje określoną funkcję.

Szczegółowa dokumentacja

deleteTrigger(trigger)

Usuwa daną regułę, aby przestała działać.

// 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
triggerTriggerAktywator do usunięcia.

Autoryzacja

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 używany do określenia, czy użytkownik musi autoryzować ten skrypt, aby użyć jednego lub więcej usług i podać adres URL okna autoryzacji. Jeśli skrypt został opublikowany jako dodatek, który używa wyzwalaczy możliwych do zainstalowania, te informacje mogą zostać służy do kontrolowania dostępu do fragmentów kodu, do których użytkownik nie ma wymaganych autoryzacji. Dodatek może też poprosić użytkownika o otwarcie adresu URL na potrzeby autoryzacji. w celu rozwiązania problemu.

var authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL);
status = authInfo.getAuthorizationStatus();
url = authInfo.getAuthorizationUrl();

Parametry

NazwaTypOpis
authModeAuthModetryb autoryzacji, dla którego są wymagane informacje dotyczące autoryzacji; cale w prawie wszystkich przypadkach wartością authMode powinna być ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL), ponieważ nie ma innych trybów autoryzacji wymaga, aby użytkownicy udzielili autoryzacji

Powrót

AuthorizationInfo – obiekt, który może dostarczać informacje o stanie autoryzacji użytkownika;


getIdentityToken()

Pobiera token tożsamości OpenID Connect dla platformy efektywny użytkownik, jeśli został przydzielony zakres openid. Ten zakres nie jest uwzględniony domyślnie i musisz dodać go jako zakres jawny w pliku manifestu , aby 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 użytkowniku w tokenie.

Zwracany token identyfikatora to zakodowany token internetowy JSON (JWT). musi zostać zdekodowany, aby wyodrębnić z niego informacje. W przykładach poniżej pokazujemy, jak zdekodować i wyodrębnij obowiązujący 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);
Zapoznaj się z OpenID Connect. dokumentację z pełną listą zwróconych pól (roszczeń).

Powrót

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 dla obecny użytkownik (na przykład czy użytkownik zainstalował je osobiście za pomocą przeglądarki Chrome Store , czyli informacji o tym, czy administrator domeny zainstalował ją dla wszystkich użytkowników).

Powrót

InstallationSource – źródło instalacji.


getOAuthToken()

Otrzymuje dostęp OAuth 2.0 efektywnego użytkownika. Jeśli zakresy OAuth skryptu są wystarczające do autoryzacji innego interfejsu API Google, który normalnie wymaga własnego przepływu OAuth (np. Selektora Google), skrypty mogą pomijać przez przekazanie tego tokena. Token wygaśnie po pewnym czasie (a co najmniej kilka minut); skrypty powinny obsługiwać błędy autoryzacji i wywoływać tę metodę w celu w razie potrzeby uzyskać nowy token.

Token zwracany przez tę metodę zawiera tylko zakresy, których skrypt obecnie potrzebuje. Zakresy, które zostały wcześniej autoryzowane, ale nie są już używane przez skrypt, nie są uwzględnione w zwrócony token. Jeśli potrzebne są dodatkowe zakresy protokołu OAuth wykraczające poza sam skrypt wymaga, można je określić w skrypcie manifestu.

Powrót

String – ciąg znaków reprezentujący token OAuth 2.0.


getProjectTriggers()

Pobiera wszystkie możliwe do zainstalowania aktywatory powiązane z bieżącym projektem i bieżącym użytkownikiem.

Logger.log('Current project has ' + ScriptApp.getProjectTriggers().length + ' triggers.');

Powrót

Trigger[] – tablica aktywatorów bieżącego użytkownika powiązanych z tym projektem.

Autoryzacja

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 dla projektu skryptu, a nie getProjectKey(). Tego identyfikatora można używać we wszystkich miejscach gdzie podano wcześniej klucz projektu.

Powrót

String – identyfikator projektu skryptu.


getService()

Pobiera obiekt używany do sterowania publikowaniem skryptu jako aplikacji internetowej.

// Get the URL of the published web app.
var url = ScriptApp.getService().getUrl();

Powrót

Service – obiekt służący do obserwowania i kontrolowania publikowania skryptu jako aplikacji internetowej.


getUserTriggers(document)

Pobiera wszystkie instalowalne aktywatory należące do tego użytkownika w danym dokumencie dla tego skryptu lub tylko dodatek. Tej metody nie można użyć, 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ć aktywatory możliwe do zainstalowania.

Powrót

Trigger[] – tablica aktywatorów należących do użytkownika w danym dokumencie.

Autoryzacja

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 instalowalne aktywatory należące do tego użytkownika w podanym formularzu dla tego skryptu lub dodatku Tej metody nie można użyć, 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 możliwe do zainstalowania.

Powrót

Trigger[] – tablica aktywatorów należących do tego użytkownika w podanym formularzu.

Autoryzacja

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 instalowalne aktywatory należące do tego użytkownika w danym arkuszu kalkulacyjnym dla tego skryptu lub tylko dodatek. Tej metody nie można użyć, 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 możliwe do zainstalowania.

Powrót

Trigger[] – tablica aktywatorów należących do użytkownika w danym arkuszu kalkulacyjnym.

Autoryzacja

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ę, którą musi wykonać rzeczywisty użytkownik, aby wykonać bieżący skrypt. Używane do unieważni wszystkie uprawnienia bieżącego skryptu. Jest to szczególnie przydatne w przypadku funkcji została oznaczona jako jednorazowa autoryzacja. Ponieważ funkcje autoryzacji jednorazowej mogą być wywoływane tylko przez funkcję pierwsze uruchomienie po uzyskaniu autoryzacji skryptu (jeśli chcesz wykonać działanie) musisz unieważnić autoryzację skryptu, by użytkownik mógł zobaczyć ponownie w oknie autoryzacji.

ScriptApp.invalidateAuth();

Rzuty

Error – gdy nie uda się unieważnić.


newStateToken()

Tworzy kreator dla tokena stanu, którego można używać w interfejsie API z wywołaniem zwrotnym (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 do punktu końcowego autoryzacji. bezpośrednio (nie jako część adresu URL wywołania zwrotnego), a punkt końcowy autoryzacji przekazuje go jako 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 opcję Autoryzuj, a strona autoryzacji OAuth2 przekierowuje go z powrotem na stronę 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/...) sprawia, że przeglądarka do /usercallback, które wywołuje metodę określoną przez StateTokenBuilder.withMethod(method).

Powrót

StateTokenBuilder – obiekt służący do kontynuowania procesu tworzenia tokena stanowego.


newTrigger(functionName)

Rozpoczyna proces tworzenia instalacyjnego 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 wywoływana po uruchomieniu reguły. Możesz używać funkcji z uwzględnionych bibliotek, takich jak Library.libFunction1.

Powrót

TriggerBuilder – obiekt używany do kontynuowania procesu tworzenia aktywatora.

Autoryzacja

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