טריגרים פשוטים וטריגרים שניתן להתקין מאפשרים ל-Google Apps Script להפעיל פונקציה באופן אוטומטי אם מתרחש אירוע מסוים. כשמופעל טריגר, Apps Script מעביר לפונקציה אובייקט אירוע כארגומנט, בדרך כלל e. אובייקט האירוע מכיל מידע על ההקשר שגרם להפעלת הטריגר. לדוגמה, קוד לדוגמה הבא מציג טריגר פשוט של onEdit(e) לסקריפט של Google Sheets שמשתמש באובייקט האירוע כדי לקבוע איזו תא נערך.
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());
}
בדף הזה מתוארים השדות באובייקט האירוע לסוגים שונים של טריגרים.
אירועים שנוצרים על ידי טריגרים שניתן להתקין מכילים את המזהה triggerUid של הטריגר שיצר את האירוע. השינוי הזה עוזר לסקריפטים שיש להם כמה טריגרים שאפשר להתקין.
אירועים ב-Google Sheets
הטריגרים השונים שספציפיים ל-Google Sheets מאפשרים לסקריפטים להגיב לפעולות של משתמש בגיליון אלקטרוני.
פתיחה(פשוט וניתן להתקנה) |
|
|---|---|
authMode |
ערך מתוך טיפוס ה-enum LIMITED |
source |
אובייקט Spreadsheet |
triggerUid |
מזהה הטריגר שיצר את האירוע הזה (רק טריגרים שניתן להתקין). 4034124084959907503 |
user |
אובייקט amin@example.com |
שינוי(ניתן להתקנה) |
|
|---|---|
authMode |
ערך מתוך טיפוס ה-enum FULL |
changeType |
סוג השינוי ( INSERT_ROW |
source |
אובייקט
Spreadsheet |
triggerUid |
מזהה הטריגר שיצר את האירוע הזה. 4034124084959907503 |
user |
אובייקט amin@example.com |
עריכה(פשוט וניתן להתקנה) |
|
|---|---|
authMode |
ערך מתוך טיפוס ה-enum LIMITED |
oldValue |
הערך של התא לפני העריכה, אם יש כזה. האפשרות הזו זמינה רק אם הטווח שנערך הוא תא אחד. הערך לא מוגדר אם בתא לא היה תוכן קודם. 1234 |
range |
אובייקט Range |
source |
אובייקט Spreadsheet |
triggerUid |
מזהה הטריגר שיצר את האירוע הזה (רק טריגרים שניתן להתקין). 4034124084959907503 |
user |
אובייקט amin@example.com |
value |
הערך החדש של התא אחרי העריכה. האפשרות הזו זמינה רק אם הטווח שנערך הוא תא אחד. 10 |
שליחת טופס(ניתן להתקנה) |
|
|---|---|
authMode |
ערך מתוך טיפוס ה-enum FULL |
namedValues |
אובייקט שמכיל את שמות השאלות והערכים מהטופס שנשלח. {
'First Name': ['Jane'],
'Timestamp': ['6/7/2015 20:54:13'],
'Last Name': ['Doe']
} |
range |
אובייקט Range |
triggerUid |
מזהה הטריגר שיצר את האירוע הזה. 4034124084959907503 |
values |
מערך עם ערכים באותו סדר שבו הם מופיעים בגיליון האלקטרוני. ['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill', '28', 'Susan', '25'] |
אירועים ב-Google Docs
טריגרים מאפשרים ל-Docs להגיב כשמשתמש פותח מסמך.
פתיחה(פשוט וניתן להתקנה) |
|
|---|---|
authMode |
ערך מתוך טיפוס ה-enum LIMITED |
source |
אובייקט Document |
triggerUid |
מזהה הטריגר שיצר את האירוע הזה (רק טריגרים שניתן להתקין). 4034124084959907503 |
user |
אובייקט amin@example.com |
אירועים ב-Google Slides
טריגרים מאפשרים ל-Slides להגיב כשמשתמש פותח מצגת.
פתיחה(פשוט) |
|
|---|---|
authMode |
ערך מתוך טיפוס ה-enum LIMITED |
source |
אובייקט Presentation |
user |
אובייקט amin@example.com |
אירועים ב-Google Forms
הטריגרים הספציפיים ל-Forms מאפשרים לסקריפטים להגיב כשמשתמש עורך טופס או שולח תשובה.
פתיחה* (פשוט וניתן להתקנה) |
|
|---|---|
authMode |
ערך מתוך טיפוס ה-enum LIMITED |
source |
אובייקט Form |
triggerUid |
מזהה הטריגר שיצר את האירוע הזה (רק טריגרים שניתן להתקין). 4034124084959907503 |
user |
אובייקט amin@example.com |
* האירוע הזה לא מתרחש כשמשתמש פותח טופס כדי להשיב עליו, אלא כשעורך פותח את הטופס כדי לשנות אותו.
שליחת טופס(ניתן להתקנה) |
|
|---|---|
authMode |
ערך מתוך טיפוס ה-enum FULL |
response |
אובייקט FormResponse |
source |
אובייקט Form |
triggerUid |
מזהה הטריגר שיצר את האירוע הזה. 4034124084959907503 |
אירועים ביומן Google
טריגרים של יומן Google מופעלים כשמתעדכנים אירועים ביומן של המשתמש (נוצרים, נערכים או נמחקים).
הטריגרים האלה לא מציינים איזה אירוע השתנה או איך הוא השתנה. במקום זאת, הם מציינים שהקוד צריך לבצע פעולת סנכרון מצטברת כדי לאסוף שינויים שבוצעו לאחרונה ביומן. תיאור מלא של התהליך הזה מופיע במדריך לסנכרון משאבים של Calendar API.
כדי לבצע סנכרון עם Calendar ב-Apps Script, מבצעים את השלבים הבאים:
- מפעילים את השירות המתקדם של יומן Google בפרויקט של הסקריפט. שירות היומן המובנה לא מספיק לתהליך העבודה הזה.
- קובעים אילו יומנים לסנכרן. לכל יומן, מבצעים פעולת סנכרון ראשוני באמצעות השיטה Events.list() של השירות המתקדם של היומן.
- הסנכרון הראשוני מחזיר
nextSyncTokenעבור היומן הזה. אחסון האסימון הזה לשימוש מאוחר יותר. - כשמופעל טריגר של Apps Script
EventUpdatedשמציין שינוי באירוע ביומן, מתבצע סנכרון מצטבר של היומן הרלוונטי באמצעותnextSyncTokenהמאוחסן. זו בעצם בקשת Events.list() נוספת, אבל ציוןnextSyncTokenמגביל את התשובה רק לאירועים שהשתנו מאז הסנכרון האחרון. - בודקים את התגובה של הסנכרון כדי לדעת אילו אירועים עודכנו, ודואגים שהקוד יגיב בהתאם. לדוגמה, אפשר לתעד את השינוי, לעדכן גיליון אלקטרוני, לשלוח התראות באימייל או לבצע פעולות אחרות.
- מעדכנים את ה-
nextSyncTokenשמאוחסן עבור היומן הזה עם ה-nextSyncTokenשמוחזר מבקשת הסנכרון המצטבר. הפעולה הזו מאלצת את פעולת הסנכרון הבאה להחזיר רק את השינויים העדכניים ביותר.
לפעמים השרת מבטל את התוקף של אסימוני סינכרון, וכתוצאה מכך מתקבלת שגיאת 410. במקרה כזה, הקוד צריך לבצע סנכרון מלא ולהחליף את כל הנתונים והאסימונים המסונכרנים שמאוחסנים בלוח השנה הזה.
EventUpdated(ניתן להתקנה) |
|
|---|---|
authMode |
ערך מתוך טיפוס ה-enum FULL |
calendarId |
מזהה המחרוזת של היומן שבו התרחש עדכון האירוע. susan@example.com |
triggerUid |
מזהה הטריגר שיצר את האירוע הזה. 4034124084959907503 |
אירועים של תוספים ל-Google Workspace
הטריגר onInstall() מופעל באופן אוטומטי כשמשתמש מתקין תוסף.
התקנה(פשוט) |
|
|---|---|
authMode |
ערך מתוך טיפוס ה-enum FULL |
אירועים באפליקציית Google Chat
מידע על אובייקטים של אירועים ב-Google Chat זמין במאמר קבלת אינטראקציות עם אפליקציית Google Chat והגבה להן.
אירועים מבוססי-זמן
טריגרים מבוססי-זמן (נקראים גם טריגרים של שעון) מאפשרים להריץ סקריפטים בזמן מסוים או במרווחי זמן חוזרים.
| Time-driven (installable) | |
|---|---|
authMode |
ערך מתוך טיפוס ה-enum FULL |
day-of-month |
בין מכיוון ששם המאפיין הזה מכיל מקפים, צריך לגשת אליו באמצעות 31 |
day-of-week |
בין מכיוון ששם המאפיין הזה מכיל מקפים, צריך לגשת אליו באמצעות 7 |
hour |
בין 23 |
minute |
בין 59 |
month |
בין 12 |
second |
בין 59 |
timezone |
אזור הזמן. UTC |
triggerUid |
מזהה הטריגר שיצר את האירוע הזה. 4034124084959907503 |
week-of-year |
בין מכיוון ששם המאפיין הזה מכיל מקפים, צריך לגשת אליו באמצעות 52 |
year |
השנה. 2015 |