טריגרים מאפשרים ל-Apps Script להריץ פונקציה באופן אוטומטי כשאירוע מסוים
למשל פתיחת מסמך. טריגרים פשוטים מוגדרים
של פונקציות שמורות שמובנות ב-Apps Script, כמו הפונקציה onOpen(e)
,
שמופעל כשמשתמש פותח קובץ ב-Google Docs, ב-Sheets, ב-Slides או ב-Forms.
טריגרים שאפשר להתקין מציעים עוד
יכולות שלא קשורות לטריגרים פשוטים, אבל חייבים להפעיל אותן לפני השימוש בהן. לשני הסוגים
סוגי טריגרים, Apps Script מעביר את הפונקציה המופעלת
אובייקט אירוע שמכיל מידע
לגבי ההקשר שבו התרחש האירוע.
תחילת העבודה
כדי להשתמש בטריגר פשוט, צרו פונקציה שמשתמשת באחד מהטריגרים האלה שמות שמורים של הפונקציות:
onOpen(e)
פועל כשמשתמש פותח גיליון אלקטרוני, מסמך, מצגת או שלמשתמש יש הרשאה לערוך.onInstall(e)
פועל כשמשתמש מתקין תוסף עריכה מתוך האפליקציה Google Docs , Sheets , Slides או Forms.- הפקודה
onEdit(e)
פועלת כשמשתמש משנה ערך בגיליון אלקטרוני. onSelectionChange(e)
פועל כשמשתמש משנה את הבחירה בגיליון אלקטרוני.doGet(e)
פועל כשמשתמש מבקר באפליקציית אינטרנט או שהתוכנה שולחת בקשת HTTPGET
לאפליקציית אינטרנט.doPost(e)
פועל כשתוכנה שולחת בקשת HTTPPOST
לאפליקציית אינטרנט.
הפרמטר e
בשמות הפונקציות שלמעלה הוא
אובייקט אירוע שמועבר אל
מותאמת אישית. האובייקט מכיל מידע על ההקשר שגרם
אבל לא חובה להפעיל אותו.
הגבלות
מכיוון שטריגרים פשוטים מופעלים באופן אוטומטי, בלי לבקש מהמשתמש הם כפופים למספר הגבלות:
- הסקריפט חייב להיות מקושר ל-Google ב-Sheets, ב-Slides, ב-Docs או ב-Forms, או להיות קובץ תוסף שמרחיב אחד מ- של האפליקציות האלה.
- הם לא פועלים אם קובץ נפתח במצב קריאה בלבד (תצוגה או תגובה).
- הפעלות של סקריפטים ובקשות API לא גורמות להרצה של טריגרים. לדוגמה,
שיחה
Range.setValue()
עריכת תא לא גורמת לטריגרonEdit
של הגיליון האלקטרוני לפעול. - הם לא יכולים לגשת לשירותים שמחייבים הרשאה. לדוגמה, טריגר פשוט לא יכול לשלוח אימייל כי לשירות Gmail נדרשת הרשאה, אבל טריגר פשוט יכול לתרגם ביטוי שירות השפה, שהוא אנונימי.
- הם יכולים לשנות את הקובץ שאליו הם מקושרים, אבל אין להם גישה לקבצים אחרים כי לשם כך תצטרכו לקבל הרשאה.
- ייתכן שהם לא יוכלו לקבוע את זהות המשתמש הנוכחי, בהתאם קבוצה מורכבת של הגבלות אבטחה.
- הם לא יכולים לפעול במשך יותר מ-30 שניות.
- בנסיבות מסוימות,
תוספי עריכה מריצים את
onOpen(e)
ו-onEdit(e)
טריגרים פשוטים במצב 'ללא הרשאה', סיבוכים נוספים. מידע נוסף זמין במאמר מדריך למחזור החיים של ההרשאות לתוסף. - טריגרים פשוטים כפופים לטריגר של Apps Script מכסות המכסה.
ההגבלות האלה לא חלות על doGet(e)
או על doPost(e)
.
onOpen(e)
הטריגר onOpen(e)
פועל באופן אוטומטי כשמשתמש פותח גיליון אלקטרוני,
מסמך, מצגת או טופס שיש להם הרשאה לערוך. (ה
לא פועל כשמשיבים לטופס, אלא רק כשפותחים את הטופס כדי
עריכה). בדרך כלל משתמשים בonOpen(e)
כדי להוסיף תגים בהתאמה אישית
אפשרויות בתפריט אל Google Sheets, Slides, Docs או
טפסים.
onInstall(e)
הטריגר onInstall(e)
פועל באופן אוטומטי כשמשתמש מתקין
תוסף עריכה מתוך האפליקציה
Google Docs , Sheets , Slides או Forms. הטריגר לא יפעל כשמשתמש
מתקין את התוסף
Google Workspace Marketplace
האתר. שימו לב
יש הגבלות מסוימות על מה שonInstall(e)
יכול לעשות. מידע נוסף על
הרשאה.
השימוש הנפוץ ביותר בonInstall(e)
הוא פשוט לקרוא ל-onOpen(e)
תפריטים מותאמים אישית. אחרי הכול, כשתוסף מותקן, הקובץ כבר פתוח,
ולכן onOpen(e)
לא פועל באופן עצמאי, אלא אם הקובץ נפתח מחדש.
onEdit(e)
הטריגר onEdit(e)
פועל באופן אוטומטי כשמשתמש משנה את הערך של
בתא בגיליון אלקטרוני. רוב onEdit(e)
הטריגרים משתמשים במידע שבקישור
אובייקט אירוע כדי להגיב בהתאם.
לדוגמה, הפונקציה onEdit(e)
שלמטה מגדירה הערה על התא
מתעד את הפעם האחרונה שבה בוצעה העריכה.
onSelectionChange(e)
הטריגר onSelectionChange(e)
פועל באופן אוטומטי כשמשתמש משנה את
בגיליון אלקטרוני. כדי להפעיל את הטריגר, עליך לרענן את
בגיליון אלקטרוני, אחרי שמוסיפים את הטריגר ובכל פעם שהגיליון האלקטרוני נפתח.
אם הבחירה עוברת בין מספר תאים בפרק זמן קצר, חלק מהבחירה
ניתן לדלג על אירועי שינוי כדי לקצר את זמן האחזור. לדוגמה, אם הרבה אפשרויות בחירה
מתבצעים שינויים תוך שתי שניות זה מזה, רק הראשון והאחרון
שינויים בבחירה יפעילו את הטריגר onSelectionChange(e)
.
בדוגמה הבאה,
אם נבחר תא ריק, הפונקציה onSelectionChange(e)
מגדירה את התא
לאדום.
doGet(e)
וגם doPost(e)
הטריגר doGet(e)
פועל באופן אוטומטי כשמשתמש מבקר
אפליקציית אינטרנט או תוכנה שולחת בקשת HTTP GET
לאפליקציית אינטרנט. doPost(e)
פועל כשתוכנה שולחת בקשת HTTP מסוג POST
בדפדפן. הטריגרים האלה מופיעים בצורה מפורטת יותר במדריכים
אפליקציות אינטרנט, שירות HTML,
וגם שירות תוכן. חשוב לשים לב שdoGet(e)
וגם
doPost(e)
אינם כפופים להגבלות המפורטות למעלה.
סוגים זמינים של טריגרים
אם ההגבלות על טריגרים פשוטים מונעות מהם להיפגש. לצרכים שלכם, טריגר שניתן להתקין יכול לפעול במקום זאת. הטבלה שבהמשך מסכמת אילו סוגי טריגרים זמינות לכל סוג של אירוע. לדוגמה, Google Sheets, Slides, Forms ו ב-Docs יש תמיכה בטריגרים פתוחים פשוטים, אבל רק ב-Sheets, ב-Docs וב-Forms יש תמיכה ב-Forms. טריגרים פתוחים שניתנים להתקנה.
אירוע | טריגרים פשוטים | טריגרים שניתנים להתקנה |
---|---|---|
פתיחה |
|
|
עריכה |
|
|
שינוי בבחירה |
|
|
התקנה |
|
|
שינוי |
|
|
שליחת טופס |
|
|
מבוסס-זמן (שעון) |
|
|
קבל |
|
|
פוסט |
|
* האירוע הפתוח של Google Forms לא מתרחש כשמשתמש פותח כדי להגיב, אלא כשעורך פותח את הטופס כדי לשנות אותו.