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

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

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

פתיחה

‫* (simple ו-installable)
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.

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

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