Obiekty zdarzeń

Aktywatory proste i instalacyjne pozwalają automatycznie uruchamiać funkcję Apps Script w przypadku wystąpienia konkretnego zdarzenia. Po uruchomieniu aktywatora Apps Script przekazuje funkcję jako obiekt argumentu – zazwyczaj jest to e. Obiekt zdarzenia zawiera informacje o kontekście, który spowodował uruchomienie reguły. Na przykład przykładowy kod poniżej pokazuje prostą regułę onEdit(e) dla skryptu Arkuszy Google, który wykorzystuje obiekt zdarzenia do określenia edytowanej komórki.

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());
}

Ta strona zawiera szczegółowe informacje o polach obiektu zdarzenia w przypadku różnych typów aktywatorów.

Zdarzenia z Arkuszy Google

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

Otwórz

(proste i instalacyjne)
authMode

Wartość wyliczenia ScriptApp.AuthMode.

LIMITED
source

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

Spreadsheet
triggerUid

Identyfikator aktywatora, który spowodował to zdarzenie (tylko aktywatory możliwe do 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ń związanych z bezpieczeństwem).

amin@example.com

Zmień

(można zainstalować)
authMode

Wartość wyliczenia 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 jest powiązany skrypt.

Spreadsheet
triggerUid

Identyfikator aktywatora, który spowodował 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ń związanych z bezpieczeństwem).

amin@example.com

Edytuj

(proste i instalacyjne)
authMode

Wartość wyliczenia ScriptApp.AuthMode.

LIMITED
oldValue

Wartość komórki przed zmianą (jeśli istnieje). Ta opcja jest dostępna tylko wtedy, gdy edytowany zakres to jedna komórka. Będzie niezdefiniowana, jeśli komórka nie zawierała poprzedniej treści.

1234
range

Obiekt Range reprezentujący komórkę lub zakres komórek, które zostały zmodyfikowane.

Range
source

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

Spreadsheet
triggerUid

Identyfikator aktywatora, który spowodował to zdarzenie (tylko aktywatory możliwe do 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ń związanych z bezpieczeństwem).

amin@example.com
value

Nowa wartość komórki po edycji. Ta opcja jest dostępna tylko wtedy, gdy edytowany zakres to jedna komórka.

10

Przesłanie formularza

(można zainstalować)
authMode

Wartość wyliczenia ScriptApp.AuthMode.

FULL
namedValues

Obiekt zawierający nazwy i wartości pytań 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 zmodyfikowane.

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 w Dokumentach Google

Wyzwalacze umożliwiają Dokumentom Google odpowiadanie na wiadomości po otwarciu dokumentu.

Otwórz

(proste i instalacyjne)
authMode

Wartość wyliczenia ScriptApp.AuthMode.

LIMITED
source

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

Document
triggerUid

Identyfikator aktywatora, który spowodował to zdarzenie (tylko aktywatory możliwe do 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ń związanych z bezpieczeństwem).

amin@example.com

Wydarzenia w Prezentacjach Google

Wyzwalacze pozwalają Prezentacje Google odpowiadać, gdy użytkownik otwiera prezentację.

Otwórz

(prosty)
authMode

Wartość 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ń związanych z bezpieczeństwem).

amin@example.com

Wydarzenia w Formularzach Google

Reguły powiązane z Formularzami Google pozwalają skryptom na odpowiadanie, gdy użytkownik edytuje lub prześle odpowiedź.

Otwórz

* (proste i instalacyjne)
authMode

Wartość wyliczenia ScriptApp.AuthMode.

LIMITED
source

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

Form
triggerUid

Identyfikator aktywatora, który spowodował to zdarzenie (tylko aktywatory możliwe do 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ń związanych z bezpieczeństwem).

amin@example.com

* To zdarzenie nie występuje, gdy użytkownik otworzy formularz, ale odpowie na niego, gdy otworzy edytor, aby go zmodyfikować.

Przesłanie formularza

(można zainstalować)
authMode

Wartość wyliczenia ScriptApp.AuthMode.

FULL
response

Obiekt FormResponse, który reprezentuje odpowiedź użytkownika na cały formularz.

FormResponse
source

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

Form
triggerUid

Identyfikator aktywatora, który spowodował to zdarzenie.

4034124084959907503

Wydarzenia w Kalendarzu Google

Wyzwalacze kalendarza są uruchamiane po zaktualizowaniu wydarzeń w kalendarzu użytkownika (utworzeniu, zmodyfikowaniu lub usunięciu).

Te reguły nie informują o tym, które zdarzenie zostało zmienione ani jak się zmieniło. Zamiast tego wskazują, że kod musi wykonać przyrostową operację synchronizacji w celu pobrania ostatnich zmian do kalendarza. Pełny opis tej procedury znajdziesz w przewodniku po synchronizacji zasobów interfejsu Calendar API.

Aby zsynchronizować dane z Kalendarzem w Apps Script, wykonaj te czynności:

  1. Włącz usługę zaawansowaną Kalendarza w projekcie skryptu. Wbudowana usługa Kalendarz nie wystarcza do tego celu.
  2. Określ, które kalendarze mają być synchronizowane. W przypadku każdego takiego kalendarza wykonaj operację integracji za pomocą metody Events.list() usługi zaawansowanej Kalendarza.
  3. Wynik początkowej synchronizacji zwraca nextSyncToken tego kalendarza. Zapisz ten token do późniejszego użycia.
  4. Uruchomienie aktywatora Apps Script EventUpdated wskazującego zmianę wydarzenia w kalendarzu wykonaj dodatkową synchronizację odpowiedniego kalendarza przy użyciu przechowywanych danych nextSyncToken. Zasadniczo jest to kolejne żądanie Events.list(), ale podanie właściwości nextSyncToken ogranicza odpowiedź tylko do tych wydarzeń, które zmieniły się od ostatniej synchronizacji.
  5. Sprawdź odpowiedź synchronizacji, by dowiedzieć się, jakie zdarzenia zostały zaktualizowane, i właściwie zareagować na kod. Możesz na przykład zarejestrować zmianę, zaktualizować arkusz kalkulacyjny, wysłać e-maile z powiadomieniem lub wykonać inne działania.
  6. Zaktualizuj nextSyncToken zapisany dla tego kalendarza tym, który został zwrócony w wyniku przyrostowej prośby o synchronizację. Wymusza to następną operację synchronizacji w celu zwrócenia tylko najnowszych zmian.

Zaktualizowano wydarzenie

(można zainstalować)
authMode

Wartość wyliczenia ScriptApp.AuthMode.

FULL
calendarId

Identyfikator ciągu znaków kalendarza, w którym miała miejsce aktualizacja wydarzenia.

susan@example.com
triggerUid

Identyfikator aktywatora, który spowodował to zdarzenie.

4034124084959907503

Zdarzenia dodatkowe

Reguła onInstall() jest uruchamiana automatycznie, gdy użytkownik zainstaluje dodatek.

Zainstaluj

(prosty)
authMode

Wartość wyliczenia ScriptApp.AuthMode.

FULL

Zdarzenia ograniczone czasowo

Reguły oparte na czasie (nazywane też aktywatorami zegara) pozwalają na wykonywanie skryptów w określonym czasie lub cyklicznie.

Upływ czasu (można zainstalować)
authMode

Wartość wyliczenia ScriptApp.AuthMode.

FULL
day-of-month

Pomiędzy 1 a 31.

Ponieważ ta nazwa właściwości zawiera łączniki, należy ją otworzyć w e['day-of-month'], a nie w kropce.

31
day-of-week

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

Ponieważ ta nazwa właściwości zawiera łączniki, należy ją otworzyć w e['day-of-week'], a nie w kropce.

7
hour

Pomiędzy 0 a 23.

23
minute

Pomiędzy 0 a 59.

59
month

Pomiędzy 1 a 12.

12
second

Pomiędzy 0 a 59.

59
timezone

Strefa czasowa.

UTC
triggerUid

Identyfikator aktywatora, który spowodował to zdarzenie.

4034124084959907503
week-of-year

Pomiędzy 1 a 52.

Ponieważ ta nazwa właściwości zawiera łączniki, należy ją otworzyć w e['week-of-year'], a nie w kropce.

52
year

Rok.

2015