Obiekty zdarzeń

Proste regułyreguły instalowane umożliwiają automatyczne uruchamianie funkcji w Google Apps Script, gdy wystąpi określone zdarzenie. Gdy wyzwalacz zostanie uruchomiony, Apps Script przekazuje do funkcji obiekt zdarzenia jako argument, zwykle e. Obiekt zdarzenia zawiera informacje o kontekście, który spowodował uruchomienie reguły. Na przykład poniższy przykładowy kod pokazuje prostą onEdit(e)regułę dla skryptu Arkuszy Google, który używa obiektu zdarzenia do określenia, która komórka została zmodyfikowana.

function onEdit(e){
  // Set a comment on the edited cell to indicate when it was changed.
  var range = e.range;
  range.setNote('Last modified: ' + new Date());
}

Na tej stronie opisujemy pola w obiekcie zdarzenia dla różnych typów reguł.

Zdarzenia generowane przez reguły możliwe do zainstalowania zawierają symbol triggerUid, który identyfikuje regułę, która wygenerowała zdarzenie. Jest to przydatne w przypadku skryptów, które mają wiele wywołań instalowanych.

Zdarzenia Arkuszy Google

Różne wyzwalacze specyficzne dla Arkuszy Google umożliwiają skryptom reagowanie na działania użytkownika w arkuszu kalkulacyjnym.

Otwórz

(prostemożliwe do zainstalowania)
authMode

Wartość z wyliczenia ScriptApp.AuthMode.

LIMITED
source

Obiekt Spreadsheet reprezentujący plik Arkuszy, z którym jest powiązany skrypt.

Spreadsheet
triggerUid

Identyfikator reguły, która wywołała to zdarzenie (tylko reguły z możliwością zainstalowania).

4034124084959907503
user

Obiekt User reprezentujący aktywnego użytkownika, jeśli jest dostępny (w zależności od złożonego zestawu ograniczeń bezpieczeństwa).

amin@example.com

Zmień

(z możliwością zainstalowania)
authMode

Wartość z wyliczenia ScriptApp.AuthMode.

FULL
changeType

Rodzaj zmiany (EDIT, INSERT_ROW, INSERT_COLUMN, REMOVE_ROW, REMOVE_COLUMN, INSERT_GRID, REMOVE_GRID, FORMAT lub OTHER).

INSERT_ROW
source

Obiekt Spreadsheet reprezentujący plik Arkuszy, z którym jest powiązany skrypt.

Spreadsheet
triggerUid

Identyfikator reguły, która wywołała to zdarzenie.

4034124084959907503
user

Obiekt User reprezentujący aktywnego użytkownika, jeśli jest dostępny (w zależności od złożonego zestawu ograniczeń bezpieczeństwa).

amin@example.com

Edytuj

(prostemożliwe do zainstalowania)
authMode

Wartość z wyliczenia ScriptApp.AuthMode.

LIMITED
oldValue

Wartość komórki przed edycją (jeśli taka istnieje). Dostępne tylko wtedy, gdy edytowany zakres to pojedyncza komórka. Jest nieokreślona, jeśli komórka nie zawierała wcześniej żadnych treści.

1234
range

Obiekt Range, który reprezentuje edytowaną komórkę lub zakres komórek.

Range
source

Obiekt Spreadsheet reprezentujący plik Arkuszy, z którym jest powiązany skrypt.

Spreadsheet
triggerUid

Identyfikator reguły, która wywołała to zdarzenie (tylko reguły z możliwością zainstalowania).

4034124084959907503
user

Obiekt User reprezentujący aktywnego użytkownika, jeśli jest dostępny (w zależności od złożonego zestawu ograniczeń bezpieczeństwa).

amin@example.com
value

Nowa wartość komórki po edycji. Dostępne tylko wtedy, gdy edytowany zakres to pojedyncza komórka.

10

Przesłanie formularza

(z możliwością zainstalowania)
authMode

Wartość z wyliczenia ScriptApp.AuthMode.

FULL
namedValues

Obiekt zawierający nazwy pytań i wartości z przesłanego formularza.

{
  'First Name': ['Jane'],
  'Timestamp': ['6/7/2015 20:54:13'],
  'Last Name': ['Doe']
}
range

Obiekt Range, który reprezentuje edytowaną komórkę lub zakres komórek.

Range
triggerUid

Identyfikator reguły, która wywołała to zdarzenie.

4034124084959907503
values

Tablica z wartościami w kolejności, w jakiej występują w arkuszu kalkulacyjnym.

['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill',
'28', 'Susan', '25']

Zdarzenia w Dokumentach Google

Reguły umożliwiają Dokumentom reagowanie, gdy użytkownik otwiera dokument.

Otwórz

(prostemożliwe do zainstalowania)
authMode

Wartość z wyliczenia ScriptApp.AuthMode.

LIMITED
source

Obiekt Document reprezentujący plik Dokumentów Google, z którym jest powiązany skrypt.

Document
triggerUid

Identyfikator reguły, która wywołała to zdarzenie (tylko reguły z możliwością zainstalowania).

4034124084959907503
user

Obiekt User reprezentujący aktywnego użytkownika, jeśli jest dostępny (w zależności od złożonego zestawu ograniczeń bezpieczeństwa).

amin@example.com

Zdarzenia w Prezentacjach Google

Reguły umożliwiają Prezentacjom reagowanie, gdy użytkownik otworzy prezentację.

Otwórz

(prosty)
authMode

Wartość z wyliczenia ScriptApp.AuthMode.

LIMITED
source

Obiekt Presentation reprezentujący plik Prezentacji Google, z którym jest powiązany skrypt.

Presentation
user

Obiekt User reprezentujący aktywnego użytkownika, jeśli jest dostępny (w zależności od złożonego zestawu ograniczeń bezpieczeństwa).

amin@example.com

Zdarzenia w Formularzach Google

Wywoływacze specyficzne dla Formularzy umożliwiają skryptom reagowanie, gdy użytkownik edytuje formularz lub przesyła odpowiedź.

Otwórz

* (prostymożliwy do zainstalowania)
authMode

Wartość z wyliczenia ScriptApp.AuthMode.

LIMITED
source

Obiekt Form reprezentujący plik Formularzy, z którym jest powiązany skrypt.

Form
triggerUid

Identyfikator reguły, która wywołała to zdarzenie (tylko reguły z możliwością zainstalowania).

4034124084959907503
user

Obiekt User reprezentujący aktywnego użytkownika, jeśli jest dostępny (w zależności od złożonego zestawu ograniczeń bezpieczeństwa).

amin@example.com

* To zdarzenie nie występuje, gdy użytkownik otwiera formularz, aby na niego odpowiedzieć, ale gdy edytujący otwiera formularz, aby go zmodyfikować.

Przesłanie formularza

(z możliwością zainstalowania)
authMode

Wartość z wyliczenia ScriptApp.AuthMode.

FULL
response

Obiekt FormResponse reprezentujący odpowiedź użytkownika na formularz jako całość.

FormResponse
source

Obiekt Form reprezentujący plik Formularzy, z którym jest powiązany skrypt.

Form
triggerUid

Identyfikator reguły, która wywołała to zdarzenie.

4034124084959907503

wydarzeniach w Kalendarzu Google;

Triggery Kalendarza Google uruchamiają się, gdy wydarzenia w kalendarzu użytkownika zostaną zaktualizowane (utworzone, edytowane lub usunięte).

Te wyzwalacze nie informują, które zdarzenie uległo zmianie ani w jaki sposób. Oznacza to, że kod musi wykonać synchronizację przyrostową, aby uwzględnić ostatnie zmiany w kalendarzu. Pełny opis tej procedury znajdziesz w przewodniku po synchronizowaniu zasobów dotyczącym interfejsu Calendar API.

Aby zsynchronizować Kalendarz w Apps Script, wykonaj te czynności:

  1. Włącz usługę zaawansowaną Kalendarz w projekcie skryptu. Wbudowana usługa Kalendarz nie jest wystarczająca w tym procesie.
  2. Określ, które kalendarze chcesz zsynchronizować. W przypadku każdego kalendarza wykonaj początkową synchronizację za pomocą metody Events.list() usługi zaawansowanej Kalendarza.
  3. Początkowa synchronizacja zwraca wartość nextSyncToken dla tego kalendarza. Zapisz ten token do późniejszego użycia.
  4. Gdy reguła Apps Script EventUpdated wywoła zdarzenie wskazujące zmianę wydarzenia w kalendarzu, wykonaj synchronizację przyrostową w przypadku kalendarza, którego dotyczy zmiana, używając zapisanego nextSyncToken. Jest to w zasadzie kolejne żądanie Events.list(), ale podanie parametru nextSyncToken ogranicza odpowiedź tylko do wydarzeń, które zmieniły się od czasu ostatniej synchronizacji.
  5. Sprawdź odpowiedź synchronizacji, aby dowiedzieć się, które zdarzenia zostały zaktualizowane, i odpowiednio zareagować w kodzie. Możesz na przykład zarejestrować zmianę, zaktualizować arkusz kalkulacyjny, wysłać powiadomienia e-mail lub wykonać inne działania.
  6. Zaktualizuj nextSyncToken przechowywane dla tego kalendarza, używając wartości zwróconej przez żądanie synchronizacji przyrostowej. Wymusza to, aby następna operacja synchronizacji zwracała tylko najnowsze zmiany.

Czasami serwer unieważnia tokeny synchronizacji, co powoduje błąd 410. W takim przypadku kod powinien przeprowadzić pełną synchronizację i zastąpić wszystkie zapisane zsynchronizowane dane oraz tokeny dla tego kalendarza.

EventUpdated

(z możliwością zainstalowania)
authMode

Wartość z wyliczenia ScriptApp.AuthMode.

FULL
calendarId

Identyfikator tekstowy kalendarza, w którym nastąpiła aktualizacja wydarzenia.

susan@example.com
triggerUid

Identyfikator reguły, która wywołała to zdarzenie.

4034124084959907503

Zdarzenia dodatków do Google Workspace

onInstall()Wywoływacz uruchamia się automatycznie, gdy użytkownik zainstaluje dodatek.

Zainstaluj

(prosty)
authMode

Wartość z wyliczenia ScriptApp.AuthMode.

FULL

Zdarzenia w aplikacji Google Chat

Więcej informacji o obiektach zdarzeń w Google Chat znajdziesz w artykule Otrzymywanie odpowiedzi na interakcje z aplikacją Google Chat.

Wydarzenia oparte na czasie

Reguły oparte na czasie (nazywane też regułami zegarowymi) umożliwiają uruchamianie skryptów o określonej godzinie lub w regularnych odstępach czasu.

Zależne od czasu (z możliwością zainstalowania)
authMode

Wartość z wyliczenia ScriptApp.AuthMode.

FULL
day-of-month

Od 1 do 31.

Ponieważ nazwa tej właściwości zawiera łączniki, należy uzyskać do niej dostęp za pomocą notacji e['day-of-month'], a nie notacji z kropką.

31
day-of-week

Od 1 (poniedziałek) do 7 (niedziela).

Ponieważ nazwa tej właściwości zawiera łączniki, należy uzyskać do niej dostęp za pomocą notacji e['day-of-week'], a nie notacji z kropką.

7
hour

Od 0 do 23.

23
minute

Od 0 do 59.

59
month

Od 1 do 12.

12
second

Od 0 do 59.

59
timezone

strefę czasową,

UTC
triggerUid

Identyfikator reguły, która wywołała to zdarzenie.

4034124084959907503
week-of-year

Od 1 do 52.

Ponieważ nazwa tej właściwości zawiera łączniki, należy uzyskać do niej dostęp za pomocą notacji e['week-of-year'], a nie notacji z kropką.

52
year

Rok.

2015