טריגרים פשוטים וטריגרים שניתן להתקין מאפשרים להריץ פונקציה באופן אוטומטי ב-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());
}
בדף הזה מפורטים השדות באובייקט האירוע לסוגים שונים של טריגרים.
אירועים ב-Google Sheets
הטריגרים השונים שספציפיים ל-Google Sheets מאפשרים לסקריפטים להגיב לפעולות של משתמשים בגיליון אלקטרוני.
פתיחה(פשוט וניתן להתקנה) |
|
---|---|
authMode |
ערך מ-enum LIMITED |
source |
אובייקט Spreadsheet |
triggerUid |
המזהה של הטריגר שהניב את האירוע הזה (טריגרים שניתן להתקין בלבד). 4034124084959907503 |
user |
אובייקט amin@example.com |
שינוי(installable) |
|
---|---|
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 |
שליחת טופס(installable) |
|
---|---|
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
טריגרים מאפשרים ל-Google Docs להגיב כשמשתמש פותח מסמך.
פתיחה(פשוט וניתן להתקנה) |
|
---|---|
authMode |
ערך מ-enum LIMITED |
source |
אובייקט Document |
triggerUid |
המזהה של הטריגר שהניב את האירוע הזה (טריגרים שניתן להתקין בלבד). 4034124084959907503 |
user |
אובייקט amin@example.com |
אירועים ב-Google Slides
טריגרים מאפשרים ל-Google Slides להגיב כשמשתמש פותח מצגת.
פתיחה(simple) |
|
---|---|
authMode |
ערך מ-enum LIMITED |
source |
אובייקט Presentation |
user |
אובייקט amin@example.com |
אירועים ב-Google Forms
הטריגרים הספציפיים ל-Google Forms מאפשרים לסקריפטים להגיב כשמשתמש עורך טופס או שולח תשובה.
פתיחה* (פשוט וניתן להתקנה) |
|
---|---|
authMode |
ערך מ-enum LIMITED |
source |
אובייקט Form |
triggerUid |
המזהה של הטריגר שהניב את האירוע הזה (טריגרים שניתן להתקין בלבד). 4034124084959907503 |
user |
אובייקט amin@example.com |
* האירוע הזה לא מתרחש כשמשתמש פותח טופס כדי להשיב, אלא כשעריכה פותח את הטופס כדי לשנות אותו.
שליחת טופס(installable) |
|
---|---|
authMode |
ערך מ-enum FULL |
response |
אובייקט FormResponse |
source |
אובייקט Form |
triggerUid |
המזהה של הטריגר שיצר את האירוע הזה. 4034124084959907503 |
אירועים ביומן Google
הטריגר של יומן Google מופעל כשאירועים ביומן של משתמש מתעדכנים (נוצרים, נערכים או נמחקים).
הטריגרים האלה לא מציינים איזה אירוע השתנה או איך הוא השתנה. במקום זאת, הם מצביעים על כך שהקוד צריך לבצע פעולת סנכרון מצטבר כדי לזהות שינויים שבוצעו לאחרונה ביומן. תיאור מלא של התהליך מופיע במדריך לסנכרון משאבים של Calendar API.
כדי לסנכרן עם יומן Google ב-Apps Script, מבצעים את השלבים הבאים:
- מפעילים את השירות המתקדם של יומן Google בפרויקט הסקריפט. שירות יומן Google המובנה לא מספיק לתהליך העבודה הזה.
- קובעים אילו יומנים צריך לסנכרן. לכל יומן כזה, מבצעים פעולת סנכרון ראשוני באמצעות השיטה Events.list() של השירות המתקדם של יומן Google.
- תוצאת הסנכרון הראשוני מחזירה
nextSyncToken
עבור היומן הזה. שומרים את האסימון לשימוש מאוחר יותר. - כשהטריגר
EventUpdated
של Apps Script מופעל ומציין שינוי באירוע ביומן, מבצעים סנכרון מצטבר של היומן המושפע באמצעותnextSyncToken
השמור. זוהי למעשה בקשה נוספת של Events.list(), אבל הוספתnextSyncToken
מגבילה את התגובה רק לאירועים שהשתנו מאז הסנכרון האחרון. - בודקים את התגובה של הסנכרון כדי לבדוק אילו אירועים עודכנו, ומגדירים את התגובה של הקוד בהתאם. לדוגמה, אפשר לתעד את השינוי, לעדכן גיליון אלקטרוני, לשלוח התראות באימייל או לבצע פעולות אחרות.
- מעדכנים את הערך של
nextSyncToken
ששמרתם ביומן הזה בערך שהוחזר על ידי בקשת הסנכרון המצטבר. כך פעולת הסנכרון הבאה תחזיר רק את השינויים העדכניים ביותר.
EventUpdated(installable) |
|
---|---|
authMode |
ערך מ-enum FULL |
calendarId |
מזהה המחרוזת של היומן שבו בוצע עדכון האירוע. susan@example.com |
triggerUid |
המזהה של הטריגר שיצר את האירוע הזה. 4034124084959907503 |
אירועים של תוספים ל-Google Workspace
הטריגר onInstall()
פועל באופן אוטומטי כשמשתמש מתקין תוסף.
התקנה(simple) |
|
---|---|
authMode |
ערך מ-enum FULL |
אירועים באפליקציית Google Chat
מידע נוסף על אובייקטים של אירועים ב-Google Chat זמין במאמר קבלת אינטראקציות ותגובה להן באפליקציית Google Chat.
אירועים מבוססי-זמן
טריגרים מבוססי-זמן (שנקראים גם טריגרים מבוססי-שעון) מאפשרים להריץ סקריפטים בזמן מסוים או במרווח זמן קבוע.
מבוסס זמן (ניתן להתקנה) | |
---|---|
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 |