Proste reguły i reguł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(proste i możliwe do zainstalowania) |
|
|---|---|
authMode |
Wartość z wyliczenia LIMITED |
source |
Obiekt Spreadsheet |
triggerUid |
Identyfikator reguły, która wywołała to zdarzenie (tylko reguły z możliwością zainstalowania). 4034124084959907503 |
user |
Obiekt amin@example.com |
Zmień(z możliwością zainstalowania) |
|
|---|---|
authMode |
Wartość z wyliczenia FULL |
changeType |
Rodzaj zmiany ( INSERT_ROW |
source |
Obiekt
Spreadsheet |
triggerUid |
Identyfikator reguły, która wywołała to zdarzenie. 4034124084959907503 |
user |
Obiekt amin@example.com |
Edytuj(proste i możliwe do zainstalowania) |
|
|---|---|
authMode |
Wartość z wyliczenia 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 |
source |
Obiekt Spreadsheet |
triggerUid |
Identyfikator reguły, która wywołała to zdarzenie (tylko reguły z możliwością zainstalowania). 4034124084959907503 |
user |
Obiekt 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 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 |
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(proste i możliwe do zainstalowania) |
|
|---|---|
authMode |
Wartość z wyliczenia LIMITED |
source |
Obiekt Document |
triggerUid |
Identyfikator reguły, która wywołała to zdarzenie (tylko reguły z możliwością zainstalowania). 4034124084959907503 |
user |
Obiekt 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 LIMITED |
source |
Obiekt Presentation |
user |
Obiekt 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* (prosty i możliwy do zainstalowania) |
|
|---|---|
authMode |
Wartość z wyliczenia LIMITED |
source |
Obiekt Form |
triggerUid |
Identyfikator reguły, która wywołała to zdarzenie (tylko reguły z możliwością zainstalowania). 4034124084959907503 |
user |
Obiekt 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 FULL |
response |
Obiekt FormResponse |
source |
Obiekt 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:
- Włącz usługę zaawansowaną Kalendarz w projekcie skryptu. Wbudowana usługa Kalendarz nie jest wystarczająca w tym procesie.
- 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.
- Początkowa synchronizacja zwraca wartość
nextSyncTokendla tego kalendarza. Zapisz ten token do późniejszego użycia. - Gdy reguła Apps Script
EventUpdatedwywoła zdarzenie wskazujące zmianę wydarzenia w kalendarzu, wykonaj synchronizację przyrostową w przypadku kalendarza, którego dotyczy zmiana, używając zapisanegonextSyncToken. Jest to w zasadzie kolejne żądanie Events.list(), ale podanie parametrunextSyncTokenogranicza odpowiedź tylko do wydarzeń, które zmieniły się od czasu ostatniej synchronizacji. - 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.
- Zaktualizuj
nextSyncTokenprzechowywane 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 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 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 FULL |
day-of-month |
Od Ponieważ nazwa tej właściwości zawiera łączniki, należy uzyskać do niej dostęp za pomocą notacji 31 |
day-of-week |
Od Ponieważ nazwa tej właściwości zawiera łączniki, należy uzyskać do niej dostęp za pomocą notacji 7 |
hour |
Od 23 |
minute |
Od 59 |
month |
Od 12 |
second |
Od 59 |
timezone |
strefę czasową, UTC |
triggerUid |
Identyfikator reguły, która wywołała to zdarzenie. 4034124084959907503 |
week-of-year |
Od Ponieważ nazwa tej właściwości zawiera łączniki, należy uzyskać do niej dostęp za pomocą notacji 52 |
year |
Rok. 2015 |