Proste aktywatory i reguły instalacyjne pozwalają Apps Script automatycznie uruchamiać funkcję w przypadku wystąpienia określonego zdarzenia. Po uruchomieniu aktywatora Apps Script przekazuje funkcję obiektu zdarzenia jako argument, zwykle o nazwie e
. Obiekt zdarzenia zawiera informacje o kontekście, który spowodował uruchomienie reguły. Poniższy przykładowy kod pokazuje prostą regułę onEdit(e)
dla skryptu Arkuszy Google, który używa obiektu zdarzenia do określenia, która komórka została zmieniona.
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 znajdują się szczegółowe informacje o polach obiektu zdarzenia związanych z różnymi typami aktywatorów.
Wydarzenia w Arkuszach Google
Różne reguły specyficzne dla Arkuszy Google pozwalają skryptom odpowiadać na działania użytkownika w arkuszu kalkulacyjnym.
Otwórz(prosty i możliwy do zainstalowania) |
|
---|---|
authMode |
Wartość z wyliczenia w LIMITED |
source |
Obiekt Spreadsheet |
triggerUid |
Identyfikator aktywatora, który wywołał to zdarzenie (tylko aktywatory możliwe do zainstalowania). 4034124084959907503 |
user |
Obiekt amin@example.com |
Zmień(możliwy do zainstalowania) |
|
---|---|
authMode |
Wartość z wyliczenia w FULL |
changeType |
Typ zmiany ( INSERT_ROW |
source |
Obiekt
Spreadsheet |
triggerUid |
Identyfikator aktywatora, który spowodował to zdarzenie. 4034124084959907503 |
user |
Obiekt amin@example.com |
Edytuj(prosty i możliwy do zainstalowania) |
|
---|---|
authMode |
Wartość z wyliczenia w LIMITED |
oldValue |
Wartość komórki sprzed zmiany (jeśli miała miejsce). Ta opcja jest dostępna tylko wtedy, gdy edytowany zakres to jedna komórka. Jeśli komórka nie zawiera wcześniejszej zawartości, wartość nie zostanie zdefiniowana. 1234 |
range |
Obiekt Range |
source |
Obiekt Spreadsheet |
triggerUid |
Identyfikator aktywatora, który wywołał to zdarzenie (tylko aktywatory możliwe do zainstalowania). 4034124084959907503 |
user |
Obiekt amin@example.com |
value |
Nowa wartość komórki po wprowadzeniu zmiany. Ta opcja jest dostępna tylko wtedy, gdy edytowany zakres to jedna komórka. 10 |
Przesłanie formularza(możliwy do zainstalowania) |
|
---|---|
authMode |
Wartość z wyliczenia w 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 aktywatora, który spowodował to zdarzenie. 4034124084959907503 |
values |
Tablica z wartościami w tej samej kolejności, w jakiej występują w arkuszu kalkulacyjnym. ['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill', '28', 'Susan', '25'] |
Wydarzenia związane z Dokumentami Google
Wyzwalacze pozwalają Dokumentom Google reagować, gdy użytkownik otwiera dokument.
Otwórz(prosty i możliwy do zainstalowania) |
|
---|---|
authMode |
Wartość z wyliczenia w LIMITED |
source |
Obiekt Document |
triggerUid |
Identyfikator aktywatora, który wywołał to zdarzenie (tylko aktywatory możliwe do zainstalowania). 4034124084959907503 |
user |
Obiekt amin@example.com |
Wydarzenia w Prezentacjach Google
Wyzwalacze umożliwiają Prezentacjom Google reagowanie, gdy użytkownik otwiera prezentację.
Otwórz(prosty). |
|
---|---|
authMode |
Wartość z wyliczenia w LIMITED |
source |
Obiekt Presentation |
user |
Obiekt amin@example.com |
Wydarzenia związane z Formularzami Google
Reguły specyficzne dla Formularzy Google pozwalają skryptom odpowiadać, gdy użytkownik edytuje formularz lub przesyła odpowiedź.
Otwórz* (prosty i możliwy do zainstalowania) |
|
---|---|
authMode |
Wartość z wyliczenia w LIMITED |
source |
Obiekt Form |
triggerUid |
Identyfikator aktywatora, który wywołał to zdarzenie (tylko aktywatory możliwe do zainstalowania). 4034124084959907503 |
user |
Obiekt amin@example.com |
* To zdarzenie nie występuje, gdy użytkownik otwiera formularz, aby na nie odpowiedzieć, tylko gdy edytujący formularz otwiera formularz, aby go zmodyfikować.
Przesłanie formularza(możliwy do zainstalowania) |
|
---|---|
authMode |
Wartość z wyliczenia w FULL |
response |
Obiekt FormResponse |
source |
Obiekt Form |
triggerUid |
Identyfikator aktywatora, który spowodował to zdarzenie. 4034124084959907503 |
wydarzeniach w Kalendarzu Google;
Wyzwalacze kalendarza są uruchamiane po zaktualizowaniu (utworzeniu, edytowaniu lub usunięciu wydarzeń w kalendarzu użytkownika).
Nie informują one, które zdarzenie uległo zmianie ani jak to się zmieniło. Zamiast tego wskazują, że Twój kod musi wykonać operację synchronizacji przyrostowej, aby pobrać ostatnie zmiany w kalendarzu. Pełny opis tej procedury znajdziesz w przewodniku na temat synchronizacji zasobów dla interfejsu Kalendarz API.
Aby synchronizować dane z Kalendarzem w Apps Script, wykonaj te czynności:
- Włącz zaawansowaną usługę Kalendarz w projekcie skryptu. W tym przepływie pracy nie wystarcza wbudowana usługa Kalendarz.
- Określ kalendarze, które mają być synchronizowane. W przypadku każdego takiego kalendarza wykonaj operację synchronizacji początkowej za pomocą metody Events.list() usługi zaawansowanej Kalendarza.
- Wynik początkowej synchronizacji zwraca wartość
nextSyncToken
dla tego kalendarza. Zachowaj ten token na później. - Gdy wyzwalacz Apps Script
EventUpdated
zostanie uruchomiony, co wskazuje na zmianę wydarzenia w kalendarzu, przeprowadź synchronizację przyrostową kalendarza, którego dotyczy problem, korzystając z przechowywanej wartościnextSyncToken
. Zasadniczo jest to inne żądanie Events.list(), ale podanienextSyncToken
ogranicza odpowiedź tylko do tych zdarzeń, które zmieniły się od ostatniej synchronizacji. - Sprawdź odpowiedź synchronizacji, by dowiedzieć się, które zdarzenia zostały zaktualizowane, i upewnij się, że kod prawidłowo odpowiada. Możesz na przykład zapisać zmianę, zaktualizować arkusz kalkulacyjny, wysłać e-maila z powiadomieniem lub wykonać inne działania.
- Zaktualizuj pole
nextSyncToken
zapisane w danym kalendarzu, korzystając z wartości zwróconej przez żądanie synchronizacji przyrostowej. Wymusza to, że kolejna operacja synchronizacji zwraca tylko najnowsze zmiany.
EventUpdated(możliwy do zainstalowania) |
|
---|---|
authMode |
Wartość z wyliczenia FULL |
calendarId |
Identyfikator kalendarza, w którym nastąpiła aktualizacja wydarzenia. susan@example.com |
triggerUid |
Identyfikator aktywatora, który spowodował to zdarzenie. 4034124084959907503 |
Zdarzenia dotyczące dodatków do Google Workspace
Wyzwalacz onInstall()
uruchamia się automatycznie, gdy użytkownik zainstaluje dodatek.
Zainstaluj(prosty). |
|
---|---|
authMode |
Wartość z wyliczenia w FULL |
Zdarzenia w aplikacji Google Chat
Więcej informacji o obiektach zdarzeń w Google Chat znajdziesz w artykule Odbieranie interakcji z aplikacją Google Chat i odpowiadanie na nie.
Zdarzenia oparte na czasie
Reguły oparte na czasie (nazywane też wyzwalaczami zegara) pozwalają na wykonywanie skryptów o określonej godzinie lub w powtarzających się odstępach czasu.
Ograniczony czasowo (możliwy do zainstalowania) | |
---|---|
authMode |
Wartość z wyliczenia w FULL |
day-of-month |
Od Ta nazwa usługi zawiera łączniki, więc aby ją otworzyć, użyj właściwości 31 |
day-of-week |
Między Ta nazwa usługi zawiera łączniki, więc aby ją otworzyć, użyj właściwości 7 |
hour |
Od 23 |
minute |
Od 59 |
month |
Od 12 |
second |
Od 59 |
timezone |
Strefa czasowa. UTC |
triggerUid |
Identyfikator aktywatora, który spowodował to zdarzenie. 4034124084959907503 |
week-of-year |
Od Ta nazwa usługi zawiera łączniki, więc aby ją otworzyć, użyj właściwości 52 |
year |
Rok. 2015 |