טריגרים מאפשרים ל-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 או ל-Forms.
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 יש תמיכה בטריגרים פתוחים שניתנים להתקנה.
אירוע | טריגרים פשוטים | טריגרים שניתנים להתקנה |
---|---|---|
פתיחה |
|
|
עריכה |
|
|
שינוי בבחירה |
|
|
התקנה |
|
|
שינוי |
|
|
שליחת טופס |
|
|
מבוסס-זמן (שעון) |
|
|
הורדה |
|
|
פוסט |
|
* האירוע הפתוח של Google Forms לא מתרחש כשהמשתמש פותח טופס כדי להשיב, אלא כאשר עורך פותח את הטופס כדי לשנות אותו.