Google Apps Script עבור Google Forms: מדריך למתחילים
תשובה מהירה: Google Apps Script היא הפלטפורמה החינמית והמובנית של Google מבוססת JavaScript לאוטומציה של Forms, Sheets ואפליקציות Workspace אחרות. כך אנשים מוסיפים דברים ש-Forms לא עושה באופן מובנה — כמו שליחת אימייל לבעלים בכל הגשה, הגבלת תגובות אוטומטית, או יצירת אישור PDF. זה אכן דורש ידע תכנות בסיסי, שזה המחסום האמיתי לכניסה.
Google Forms פשוטה בכוונה, מה שאומר שהרבה בקשות נפוצות — "שלחו לי אימייל כשמישהו מגיש", "הפסיקו לקבל תגובות אחרי 50", "אמתו שדה זה בדרך ש-Forms לא תומכת בה" — לא מטופלות מחוץ לקופסה. Google Apps Script היא הכלי ש-Google נותנת לכם כדי לסגור את הפער הזה בעצמכם, בחינם, בלי לצאת מהאקוסיסטם של Google. המדריך הזה מסביר מה זה, מה זה יכול לעשות באופן ריאלי עבור הטופס שלכם, דוגמה פשוטה לאיך זה בנוי, ולמי זה מתאים בפועל.
מהי Google Apps Script?
Apps Script היא פלטפורמת הסקריפטים המובנית של Google, המבוססת על JavaScript, שמאפשרת לכם לכתוב תוכניות קטנות שמתקשרות עם אפליקציות Google Workspace — Forms, Sheets, Docs, Gmail, Calendar, ועוד. היא רצה כולה על שרתי Google, כך שאין מה להתקין ואין אחסון נפרד לנהל. ניתן לגשת אליה באחד משני מקומות: מתפריט שלוש הנקודות של הטופס שלכם, בחרו Script editor, או פתחו את גיליון ה-Google המקושר ועברו ל-Extensions > Apps Script. שתי הדרכים פותחות אותו סוג עורך, אם כי לסקריפטים המחוברים לטופס לעומת לגיליון יש הקשר התחלתי שונה מעט.
מה Apps Script מאפשרת לכם לעשות ש-Forms לא מציעה באופן מובנה
- שליחת אימייל אוטומטית לבעל הטופס בכל הגשה חדשה. ל-Google Forms אין הגדרת התראה מובנית לזה — האפשרות המובנית הקרובה ביותר היא תקציר אימייל תקופתי של תגובות חדשות, לא מיידי. Apps Script יכולה להפעיל אימייל ברגע שתגובה מגיעה, מה שחשוב עבור טפסים רגישי-זמן כמו בקשות תמיכה או הרשמות דחופות. אם אתם מנסים לפתור מדוע אתם לא מקבלים התראה על תגובות בכלל, זו בעיה קשורה אך שונה — ראו את המדריך שלנו על Google Forms שלא מקבלת תגובות.
- הגבלה אוטומטית של תגובות לפי יום או ספירה. תוספי "מגביל תגובות" של צד שלישי שמגבילים טופס נניח ל-50 הגשות או סוגרים אותו לאחר תאריך מסוים בדרך כלל בנויים בעצמם על גבי טריגרים של Apps Script שבודקים את ספירת התגובות או התאריך וסוגרים את הטופס באופן פרוגרמטי. המדריך שלנו לסגירת טופס Google לאחר מגבלת תגובות מכסה גם את מסלול התוסף וגם מה שקורה מתחת למכסה המנוע.
- אימות מותאם אישית ש-Forms לא יכולה לעשות באופן מובנה. האימות המובנה של Forms מוגבל לכללים בסיסיים כמו טווחי מספרים או תבניות regex בשדה בודד. Apps Script יכולה לבדוק צולבות בין כמה תשובות זו לזו, או מול נתונים חיצוניים, בדרכים שאפשרויות האימות המקוריות לא יכולות.
- יצירה אוטומטית של אישור PDF. סקריפט יכול לקחת תגובה חדשה, לעצב אותה למסמך, להמיר אותה ל-PDF, ולשלוח אותה בחזרה למשיב כקבלה או אישור — שימושי עבור הרשמות, בקשות והזמנות.
דוגמה פשוטה, מוסברת באופן רעיוני
הנה הצורה הגסה של סקריפט ששולח אימייל לבעל הטופס כשמישהו מגיש. זה להמחשה כדי להראות את המבנה — לא משהו להעתיק-להדביק כקוד מוכן לייצור בלי להתאים אותו לשאלות בפועל של הטופס שלכם.
function onFormSubmit(e) {
// e.response מכיל את תגובת הטופס שהוגשה
var responses = e.response.getItemResponses();
var summary = "";
responses.forEach(function (itemResponse) {
summary += itemResponse.getItem().getTitle() + ": " + itemResponse.getResponse() + "\n";
});
// שלחו לבעלים אימייל עם התגובה החדשה
MailApp.sendEmail("[email protected]", "New form response", summary);
}
החלקים העיקריים: onFormSubmit(e) היא פונקציית טריגר — Apps Script קוראת לה אוטומטית כשמגיעה תגובה חדשה, ו-e מכילה את נתוני האירוע, כולל e.response, שנותן לכם גישה לכל תשובה דרך getItemResponses(). משם, הסקריפט יכול לעשות כל מה ששירותי Apps Script תומכים בו — לשלוח אימייל, לכתוב לגיליון, לקרוא ל-API חיצוני, ליצור מסמך. הטריגר עצמו מוגדר בנפרד בפאנל Triggers של העורך, שם אתם אומרים לו להריץ את הפונקציה הזו ב"On form submit".
הגדרה, שלב אחר שלב
- פתחו את עורך הסקריפט מתפריט שלוש הנקודות של הטופס שלכם, או דרך Extensions > Apps Script בגיליון המקושר.
- כתבו פונקציית טריגר כמו הדוגמה למעלה, שקוראת את התשובות שהוגשו מאובייקט האירוע.
- הוסיפו את לוגיקת האוטומציה שלכם — האימייל, ה-PDF, או הבדיקה בפועל שאתם רוצים להריץ.
- הגדירו את הטריגר בקטע Triggers (סמל השעון בסרגל הצד השמאלי), והוסיפו טריגר חדש שמריץ את הפונקציה שלכם באירוע "From form" / "On form submit".
- אשרו ובדקו. ההרצה הראשונה תבקש מכם להעניק לסקריפט הרשאה לגשת לטופס ול-Gmail שלכם; אשרו זאת, ואז הגישו תגובת בדיקה אמיתית כדי לוודא שהכל מופעל כראוי.
איפה ללמוד עוד
ל-Apps Script יש תיעוד רשמי מקיף ישירות מ-Google, המכסה את שירות ה-Forms, טריגרים, וכל אפליקציית Workspace אחרת שהיא יכולה לגעת בה. אם אתם רציניים לגבי כתיבת סקריפטים משלכם, זה המקור האמין והמעודכן ביותר, מכיוון שהוא מתוחזק לצד המוצר עצמו ולא על ידי צד שלישי.
טריגרים נפוצים מעבר ל"on form submit"
הגשת טופס היא הטריגר הנפוץ ביותר, אבל לא היחיד השימושי עבור טפסים. טריגר מבוסס-זמן (גם הוא מוגדר בפאנל Triggers) יכול לרוץ לפי לוח זמנים — כל שעה, כל יום, או בזמן מסוים — בלי קשר לשאלה האם מישהו הגיש תגובה. זה מה שמפעיל פעולות מתוזמנות כמו סגירה אוטומטית של טופס בתאריך קבוע, שליחת תקציר יומי של תגובות היום במקום אימייל אחד לכל הגשה, או ארכוב תגובות ישנות לגיליון נפרד באופן שוטף. טריגרים מבוססי-עריכה (onEdit) מופעלים כשמישהו משנה תא בגיליון האלקטרוני המקושר, מה שימושי אם אתם רוצים שסקריפט יגיב כשאתם מסמנים ידנית תגובה כ"מעובדת" או "מאושרת" בעמודת סטטוס.
פתרון בעיות ב-Apps Script
- הסקריפט לא רץ כשטופס מוגש: ודאו שהטריגר באמת שמור ומופנה ל"On form submit", לא לסוג אירוע אחר — טריגרים שנוצרו בהפעלות בדיקה קודמות יכולים להתקיים בשקט לצד אחד חדש ומוגדר לא נכון, אז בדקו את פאנל Triggers לכפילויות.
- שגיאות "Authorization required" בכל הרצה: הרשאות Apps Script יכולות להתבטל אם אתם משנים את סיסמת חשבון ה-Google שלכם או אם Google בודקת מחדש מדי פעם היקפים רגישים כמו שליחת Gmail. הריצו את הסקריפט ידנית מהעורך פעם אחת כדי להפעיל מחדש את בקשת ההרשאה.
- הסקריפט עובד כשמריצים אותו ידנית אבל לא אוטומטית: חלק משירותי Apps Script (כמו הצגת דיאלוג ממשק) עובדים רק כשאדם מריץ את הסקריפט ישירות, לא מטריגר אוטומטי — טריגרים אוטומטיים חייבים להשתמש בפעולות לא אינטראקטיביות כמו שליחת אימייל או כתיבה לגיליון.
- אימיילים לא נשלחים: לשכבה החינמית של Apps Script יש מכסת אימייל יומית (גבוהה יותר בחשבון Google Workspace מאשר בחשבון Gmail אישי) — טפסים בנפח גבוה יכולים להגיע לתקרה הזו, וזה גורם לאימיילים מאוחרים יותר באותו יום להיכשל בשקט.
המחסום הכן לכניסה
Apps Script דורשת תכנות ממשי — ליתר דיוק, JavaScript בסיסי. זה לא כלי ללא קוד, והתייחסות אליו כאל מתג הגדרות פשוט תוביל לתסכול אם מעולם לא כתבתם קוד קודם לכן. קריאה והתאמה של דוגמה קצרה כמו זו למעלה ריאלית עבור מתחיל נחוש, אבל בניית משהו מורכב יותר, כמו אימות רב-שלבי או יצירת PDF, דורשת ידע תכנות אמיתי.
המחסום הזה הוא בדיוק הפער שתוספי צד שלישי ללא קוד ממלאים עבור אנשים שצריכים אוטומציה בלי לכתוב סקריפטים, וזה אותו פער שאפליקציות ייעודיות כמו FormMaker ממלאות עבור בעיה שונה לגמרי — יצירה וניהול של הטופס עצמו במובייל, בלי צורך לגעת בקוד בכלל. אף אחת מהן לא מחליפה את Apps Script עבור התאמה אישית מעמיקה, אבל גם אף אחת מהן לא דורשת זאת.
שאלות נפוצות
מהי Google Apps Script?
Google Apps Script היא הפלטפורמה המובנית של Google מבוססת JavaScript לאוטומציה והרחבה של אפליקציות Google Workspace, כולל Forms, Sheets ו-Gmail. היא רצה על שרתי Google בחינם ולא דורשת התקנה נפרדת.
האם Google Forms יכולה לשלוח אימייל אוטומטי כשמישהו מגיש?
לא באופן מובנה. ל-Google Forms אין הגדרה מובנית לשלוח אימייל לבעל הטופס בכל הגשה. Apps Script יכולה להוסיף את זה על ידי הפעלת פונקציית טריגר קטנה בכל פעם שמגיעה תגובה חדשה.
האם אני צריך לדעת לתכנת כדי להשתמש ב-Apps Script?
כן, לפחות JavaScript בסיסי. Apps Script היא סביבת תכנות אמיתית, לא כלי ללא קוד. אם אתם לא רוצים לכתוב קוד, חפשו תוספים ללא קוד או אפליקציות ייעודיות במקום.
איפה פותחים את עורך Apps Script עבור טופס Google?
מהטופס שלכם, עברו לתפריט שלוש הנקודות ובחרו Script editor, או פתחו את גיליון ה-Google המקושר ועברו ל-Extensions > Apps Script.
האם יש הגבלה על כמות האימיילים ש-Apps Script יכולה לשלוח ביום?
כן. Apps Script אוכפת מכסת שליחת אימייל יומית שגבוהה יותר עבור חשבונות Google Workspace מאשר עבור חשבונות Gmail אישיים חינמיים. טפסים בנפח גבוה ששולחים אימייל בכל הגשה עלולים להגיע לתקרה הזו, וכדאי לבדוק זאת אם אימיילים מפסיקים להישלח באמצע יום עמוס.