טריגרים פשוטים וטריגרים שניתנים להתקנה מאפשרים ל-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 |
שליחת טופס(ניתנת להתקנה) |
|
---|---|
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 להגיב כשמשתמש פותח מצגת.
פתיחה(פשוט) |
|
---|---|
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
היומן מופעל כשאירועים ביומן של משתמש מתעדכנים (נוצרים, נערכו או נמחקים).
הטריגרים האלה לא מציינים איזה אירוע השתנה או איך הוא השתנה. במקום זאת, הם מצביעים על כך שהקוד צריך לבצע פעולת סנכרון מצטבר כדי לזהות שינויים שבוצעו לאחרונה ביומן. תיאור מלא של התהליך מופיע במדריך לסנכרון משאבים של Calendar API.
כדי לסנכרן עם יומן Google ב-Apps Script, מבצעים את השלבים הבאים:
- מפעילים את השירות המתקדם של יומן Google בפרויקט הסקריפט. שירות יומן Google המובנה לא מספיק לתהליך העבודה הזה.
- לקבוע אילו יומנים יסונכרנו. לכל יומן כזה, מבצעים פעולת סנכרון ראשוני באמצעות שיטת Events.list() של השירות המתקדם של יומן Google.
- תוצאת הסנכרון הראשוני מחזירה
nextSyncToken
עבור היומן הזה. יש לשמור את האסימון הזה לשימוש במועד מאוחר יותר. - כשהטריגר
EventUpdated
של Apps Script מופעל ומציין שינוי באירוע ביומן, מבצעים סנכרון מצטבר של היומן המושפע באמצעותnextSyncToken
השמור. זוהי למעשה בקשה נוספת של Events.list(), אבל הוספתnextSyncToken
מגבילה את התגובה רק לאירועים שהשתנו מאז הסנכרון האחרון. - לבדוק את התגובה של הסנכרון כדי לראות אילו אירועים עודכנו ולוודא שהקוד מגיב בהתאם. לדוגמה, אפשר לתעד את השינוי, לעדכן גיליון אלקטרוני, לשלוח התראות באימייל או לבצע פעולות אחרות.
- מעדכנים את הערך של
nextSyncToken
ששמרתם ביומן הזה בערך שהוחזר על ידי בקשת הסנכרון המצטבר. כך פעולת הסנכרון הבאה תחזיר רק את השינויים העדכניים ביותר.
EventUpdated(ניתנת להתקנה) |
|
---|---|
authMode |
ערך מ-enum FULL |
calendarId |
מזהה המחרוזת של היומן שבו אירע עדכון האירוע. susan@example.com |
triggerUid |
המזהה של הטריגר שהפיק את האירוע הזה. 4034124084959907503 |
אירועים עם תוספים ל-Google Workspace
הטריגר onInstall()
פועל באופן אוטומטי כשמשתמש מתקין תוסף.
התקנה(פשוט) |
|
---|---|
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 |