Obiekty zdarzeń

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 ScriptApp.AuthMode.

LIMITED
source

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

Spreadsheet
triggerUid

Identyfikator aktywatora, który wywołał to zdarzenie (tylko aktywatory możliwe do zainstalowania).

4034124084959907503
user

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

amin@example.com

Zmień

(możliwy do zainstalowania)
authMode

Wartość z wyliczenia w ScriptApp.AuthMode.

FULL
changeType

Typ 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 Google, z którym powiązany jest skrypt.

Spreadsheet
triggerUid

Identyfikator aktywatora, który spowodował to zdarzenie.

4034124084959907503
user

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

amin@example.com

Edytuj

(prosty i możliwy do zainstalowania)
authMode

Wartość z wyliczenia w ScriptApp.AuthMode.

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 reprezentujący komórkę lub zakres komórek, które zostały edytowane.

Range
source

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

Spreadsheet
triggerUid

Identyfikator aktywatora, który wywołał to zdarzenie (tylko aktywatory możliwe do zainstalowania).

4034124084959907503
user

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

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 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 reprezentujący komórkę lub zakres komórek, które zostały edytowane.

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 ScriptApp.AuthMode.

LIMITED
source

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

Document
triggerUid

Identyfikator aktywatora, który wywołał to zdarzenie (tylko aktywatory możliwe do zainstalowania).

4034124084959907503
user

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

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 ScriptApp.AuthMode.

LIMITED
source

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

Presentation
user

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

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 ScriptApp.AuthMode.

LIMITED
source

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

Form
triggerUid

Identyfikator aktywatora, który wywołał to zdarzenie (tylko aktywatory możliwe do zainstalowania).

4034124084959907503
user

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

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 ScriptApp.AuthMode.

FULL
response

Obiekt FormResponse reprezentujący odpowiedź użytkownika na cały formularz.

FormResponse
source

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

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:

  1. Włącz zaawansowaną usługę Kalendarz w projekcie skryptu. W tym przepływie pracy nie wystarcza wbudowana usługa Kalendarz.
  2. 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.
  3. Wynik początkowej synchronizacji zwraca wartość nextSyncToken dla tego kalendarza. Zachowaj ten token na później.
  4. 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ści nextSyncToken. Zasadniczo jest to inne żądanie Events.list(), ale podanie nextSyncToken ogranicza odpowiedź tylko do tych zdarzeń, które zmieniły się od ostatniej synchronizacji.
  5. 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.
  6. 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 ScriptApp.AuthMode.

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 ScriptApp.AuthMode.

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 ScriptApp.AuthMode.

FULL
day-of-month

Od 1 do 31.

Ta nazwa usługi zawiera łączniki, więc aby ją otworzyć, użyj właściwości e['day-of-month'], a nie notacji kropki.

31
day-of-week

Między 1 (poniedziałek) a 7 (niedziela).

Ta nazwa usługi zawiera łączniki, więc aby ją otworzyć, użyj właściwości e['day-of-week'], a nie notacji kropki.

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

Strefa czasowa.

UTC
triggerUid

Identyfikator aktywatora, który spowodował to zdarzenie.

4034124084959907503
week-of-year

Od 1 do 52.

Ta nazwa usługi zawiera łączniki, więc aby ją otworzyć, użyj właściwości e['week-of-year'], a nie notacji kropki.

52
year

Rok.

2015