אובייקטים של אירוע

טריגרים פשוטים וטריגרים שניתן להתקין מאפשרים ל-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‏ ScriptApp.AuthMode.

LIMITED
source

אובייקט Spreadsheet שמייצג את קובץ Sheets שהסקריפט מקושר אליו.

Spreadsheet
triggerUid

מזהה הטריגר שיצר את האירוע הזה (רק טריגרים שניתן להתקין).

4034124084959907503
user

אובייקט User שמייצג את המשתמש הפעיל, אם הוא זמין (בהתאם לקבוצה מורכבת של הגבלות אבטחה).

amin@example.com

שינוי

(ניתן להתקנה)
authMode

ערך מתוך טיפוס ה-enum‏ ScriptApp.AuthMode.

FULL
changeType

סוג השינוי (EDIT,‏ INSERT_ROW,‏ INSERT_COLUMN,‏ REMOVE_ROW,‏ REMOVE_COLUMN,‏ INSERT_GRID,‏ REMOVE_GRID,‏ FORMAT או OTHER).

INSERT_ROW
source

אובייקט Spreadsheet שמייצג את קובץ Sheets שהסקריפט מקושר אליו.

Spreadsheet
triggerUid

מזהה הטריגר שיצר את האירוע הזה.

4034124084959907503
user

אובייקט User שמייצג את המשתמש הפעיל, אם הוא זמין (בהתאם לקבוצה מורכבת של הגבלות אבטחה).

amin@example.com

עריכה

(פשוט וניתן להתקנה)
authMode

ערך מתוך טיפוס ה-enum‏ ScriptApp.AuthMode.

LIMITED
oldValue

הערך של התא לפני העריכה, אם יש כזה. האפשרות הזו זמינה רק אם הטווח שנערך הוא תא אחד. הערך לא מוגדר אם בתא לא היה תוכן קודם.

1234
range

אובייקט Range שמייצג את התא או את טווח התאים שנערכו.

Range
source

אובייקט Spreadsheet שמייצג את קובץ Sheets שהסקריפט קשור אליו.

Spreadsheet
triggerUid

מזהה הטריגר שיצר את האירוע הזה (רק טריגרים שניתן להתקין).

4034124084959907503
user

אובייקט User שמייצג את המשתמש הפעיל, אם הוא זמין (בהתאם לקבוצה מורכבת של הגבלות אבטחה).

amin@example.com
value

הערך החדש של התא אחרי העריכה. האפשרות הזו זמינה רק אם הטווח שנערך הוא תא אחד.

10

שליחת טופס

(ניתן להתקנה)
authMode

ערך מתוך טיפוס ה-enum‏ ScriptApp.AuthMode.

FULL
namedValues

אובייקט שמכיל את שמות השאלות והערכים מהטופס שנשלח.

{
  'First Name': ['Jane'],
  'Timestamp': ['6/7/2015 20:54:13'],
  'Last Name': ['Doe']
}
range

אובייקט Range שמייצג את התא או את טווח התאים שנערכו.

Range
triggerUid

מזהה הטריגר שיצר את האירוע הזה.

4034124084959907503
values

מערך עם ערכים באותו סדר שבו הם מופיעים בגיליון האלקטרוני.

['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill',
'28', 'Susan', '25']

אירועים ב-Google Docs

טריגרים מאפשרים ל-Docs להגיב כשמשתמש פותח מסמך.

פתיחה

(פשוט וניתן להתקנה)
authMode

ערך מתוך טיפוס ה-enum‏ ScriptApp.AuthMode.

LIMITED
source

אובייקט Document שמייצג את קובץ Docs שהסקריפט קשור אליו.

Document
triggerUid

מזהה הטריגר שיצר את האירוע הזה (רק טריגרים שניתן להתקין).

4034124084959907503
user

אובייקט User שמייצג את המשתמש הפעיל, אם הוא זמין (בהתאם לקבוצה מורכבת של הגבלות אבטחה).

amin@example.com

אירועים ב-Google Slides

טריגרים מאפשרים ל-Slides להגיב כשמשתמש פותח מצגת.

פתיחה

(פשוט)
authMode

ערך מתוך טיפוס ה-enum‏ ScriptApp.AuthMode.

LIMITED
source

אובייקט Presentation שמייצג את קובץ Slides שהסקריפט מקושר אליו.

Presentation
user

אובייקט User שמייצג את המשתמש הפעיל, אם הוא זמין (בהתאם לקבוצה מורכבת של הגבלות אבטחה).

amin@example.com

אירועים ב-Google Forms

הטריגרים הספציפיים ל-Forms מאפשרים לסקריפטים להגיב כשמשתמש עורך טופס או שולח תשובה.

פתיחה

‫* (פשוט וניתן להתקנה)
authMode

ערך מתוך טיפוס ה-enum‏ ScriptApp.AuthMode.

LIMITED
source

אובייקט Form שמייצג את קובץ הטופס שהסקריפט מקושר אליו.

Form
triggerUid

מזהה הטריגר שיצר את האירוע הזה (רק טריגרים שניתן להתקין).

4034124084959907503
user

אובייקט User שמייצג את המשתמש הפעיל, אם הוא זמין (בהתאם לקבוצה מורכבת של הגבלות אבטחה).

amin@example.com

* האירוע הזה לא מתרחש כשמשתמש פותח טופס כדי להשיב עליו, אלא כשעורך פותח את הטופס כדי לשנות אותו.

שליחת טופס

(ניתן להתקנה)
authMode

ערך מתוך טיפוס ה-enum‏ ScriptApp.AuthMode.

FULL
response

אובייקט FormResponse שמייצג את התשובה של המשתמש לטופס כולו.

FormResponse
source

אובייקט Form שמייצג את קובץ הטופס שהסקריפט מקושר אליו.

Form
triggerUid

מזהה הטריגר שיצר את האירוע הזה.

4034124084959907503

אירועים ביומן Google

טריגרים של יומן Google מופעלים כשמתעדכנים אירועים ביומן של המשתמש (נוצרים, נערכים או נמחקים).

הטריגרים האלה לא מציינים איזה אירוע השתנה או איך הוא השתנה. במקום זאת, הם מציינים שהקוד צריך לבצע פעולת סנכרון מצטברת כדי לאסוף שינויים שבוצעו לאחרונה ביומן. תיאור מלא של התהליך הזה מופיע במדריך לסנכרון משאבים של Calendar API.

כדי לבצע סנכרון עם Calendar ב-Apps Script, מבצעים את השלבים הבאים:

  1. מפעילים את השירות המתקדם של יומן Google בפרויקט של הסקריפט. שירות היומן המובנה לא מספיק לתהליך העבודה הזה.
  2. קובעים אילו יומנים לסנכרן. לכל יומן, מבצעים פעולת סנכרון ראשוני באמצעות השיטה Events.list() של השירות המתקדם של היומן.
  3. הסנכרון הראשוני מחזיר nextSyncToken עבור היומן הזה. אחסון האסימון הזה לשימוש מאוחר יותר.
  4. כשמופעל טריגר של Apps Script EventUpdated שמציין שינוי באירוע ביומן, מתבצע סנכרון מצטבר של היומן הרלוונטי באמצעות nextSyncToken המאוחסן. זו בעצם בקשת Events.list() נוספת, אבל ציון nextSyncToken מגביל את התשובה רק לאירועים שהשתנו מאז הסנכרון האחרון.
  5. בודקים את התגובה של הסנכרון כדי לדעת אילו אירועים עודכנו, ודואגים שהקוד יגיב בהתאם. לדוגמה, אפשר לתעד את השינוי, לעדכן גיליון אלקטרוני, לשלוח התראות באימייל או לבצע פעולות אחרות.
  6. מעדכנים את ה-nextSyncToken שמאוחסן עבור היומן הזה עם ה-nextSyncToken שמוחזר מבקשת הסנכרון המצטבר. הפעולה הזו מאלצת את פעולת הסנכרון הבאה להחזיר רק את השינויים העדכניים ביותר.

לפעמים השרת מבטל את התוקף של אסימוני סינכרון, וכתוצאה מכך מתקבלת שגיאת 410. במקרה כזה, הקוד צריך לבצע סנכרון מלא ולהחליף את כל הנתונים והאסימונים המסונכרנים שמאוחסנים בלוח השנה הזה.

EventUpdated

(ניתן להתקנה)
authMode

ערך מתוך טיפוס ה-enum‏ ScriptApp.AuthMode.

FULL
calendarId

מזהה המחרוזת של היומן שבו התרחש עדכון האירוע.

susan@example.com
triggerUid

מזהה הטריגר שיצר את האירוע הזה.

4034124084959907503

אירועים של תוספים ל-Google Workspace

הטריגר onInstall() מופעל באופן אוטומטי כשמשתמש מתקין תוסף.

התקנה

(פשוט)
authMode

ערך מתוך טיפוס ה-enum‏ ScriptApp.AuthMode.

FULL

אירועים באפליקציית Google Chat

מידע על אובייקטים של אירועים ב-Google Chat זמין במאמר קבלת אינטראקציות עם אפליקציית Google Chat והגבה להן.

אירועים מבוססי-זמן

טריגרים מבוססי-זמן (נקראים גם טריגרים של שעון) מאפשרים להריץ סקריפטים בזמן מסוים או במרווחי זמן חוזרים.

Time-driven (installable)
authMode

ערך מתוך טיפוס ה-enum‏ ScriptApp.AuthMode.

FULL
day-of-month

בין 1 ל-31.

מכיוון ששם המאפיין הזה מכיל מקפים, צריך לגשת אליו באמצעות e['day-of-month'] ולא באמצעות סימון נקודות.

31
day-of-week

בין 1 (יום שני) ל-7 (יום ראשון).

מכיוון ששם המאפיין הזה מכיל מקפים, צריך לגשת אליו באמצעות e['day-of-week'] ולא באמצעות סימון נקודות.

7
hour

בין 0 ל-23.

23
minute

בין 0 ל-59.

59
month

בין 1 ל-12.

12
second

בין 0 ל-59.

59
timezone

אזור הזמן.

UTC
triggerUid

מזהה הטריגר שיצר את האירוע הזה.

4034124084959907503
week-of-year

בין 1 ל-52.

מכיוון ששם המאפיין הזה מכיל מקפים, צריך לגשת אליו באמצעות e['week-of-year'] ולא באמצעות סימון נקודות.

52
year

השנה.

2015