1. מבוא ל-Google Apps Script
ב-codelab הזה נציג לכם את אחת הדרכים הכי פשוטות לכתוב קוד שמאפשר גישה לטכנולוגיות של Google למפתחים. הכל מתבצע באמצעות JavaScript, שפה פופולרית לפיתוח אתרים. באמצעות Google Apps Script, תכתבו קוד לחילוץ כתובת מרחוב מתא בגליון אלקטרוני ב-Google Sheets, ליצירת מפה ב-Google Maps על סמך הכתובת, ואז לשליחת המפה כקובץ מצורף באמצעות Gmail. והכי חשוב? זה יהיה רק ארבע שורות קוד.
מה תלמדו
- איך משתמשים ב-Google Apps Script עם שירותים שונים של Google, כמו Google Sheets, מפות Google ו-Gmail.
- פיתוח קוד באמצעות העורך בדפדפן ל-Apps Script.
הדרישות
- דפדפן אינטרנט עם גישה לאינטרנט
- חשבון Google (יכול להיות שחשבונות Google Workspace ידרשו אישור אדמין)
- היכרות בסיסית עם Google Sheets
- יכולת לקרוא סימון A1 ב-Sheets
2. סקר
איך תשתמשו ב-codelab או במדריך הזה?
מה הדירוג שלך לחוויית השימוש בכלי הפיתוח ובממשקי ה-API של Google Workspace?
3. סקירה כללית
עכשיו, אחרי שהבנתם במה עוסק ה-Codelab הזה, מה בדיוק אתם הולכים לעשות?
- כדאי לקרוא קצת על Apps Script, שמתבסס על JavaScript.
- יוצרים גיליון אלקטרוני ב-Google Sheets.
- מזינים כתובת רחוב בתא הימני העליון (A1) של הגיליון האלקטרוני.
- איך פותחים את הכלי לעריכת סקריפטים של Apps Script לכל מסמך
- עורכים את הקוד של Apps Script, שומרים אותו ומפעילים פתרונות חכמים.
- כדי לראות את התוצאה, משתמשים ב-Gmail.
בואו נתחיל.
מה זה Google Apps Script?
Google Apps Script היא פלטפורמת פיתוח שמאפשרת ליצור במהירות ובקלות סקריפטים ואפליקציות קטנות שמשתלבות עם Google Workspace. באמצעות Apps Script, אתם יכולים:
- לכתוב קוד ב-JavaScript ולגשת לספריות מובנות של אפליקציות Google Workspace כמו Gmail, יומן, Drive וכו'.
- אין צורך להתקין שום דבר – אנחנו מספקים לכם עורך קוד ישירות בדפדפן, והסקריפטים שלכם פועלים בשרתים של Google.
- לא צריך לדאוג לנושאים מורכבים כמו אבטחה והרשאות גישה לנתונים, כי הפלטפורמה מטפלת בזה בשבילכם.
אפשר להשתמש ב-Apps Script כדי ליצור מגוון אפליקציות, מבוטים לצ'אט ועד לאפליקציות אינטרנט. אחד השימושים הפופולריים ביותר הוא הרחבת הפונקציונליות של גיליון אלקטרוני ב-Google Sheets. בהמשך ה-codelab הזה תלמדו איך להשתמש ב-Apps Script כדי לקחת נתונים מגיליון אלקטרוני ולקשר אותם לשירותי Google אחרים.
4. יצירת גיליון אלקטרוני ב-Google Sheets והזנת כתובת
בגיליון חדש ב-Google Sheets, מזינים כתובת רחוב תקינה לפי ההוראות הבאות:
- יוצרים גיליון אלקטרוני ב-Google Sheets באמצעות הקישור הנוח הזה (sheets.google.com/create). לחלופין, אפשר להיכנס ל-Google Drive (drive.google.com) וללחוץ על חדש > Google Sheets > גיליון אלקטרוני ריק.

- בגיליון האלקטרוני הריק, עוברים לתא הראשון בפינה הימנית העליונה (A1). הוא יופיע בעמודה A ובשורה 1. אם אתם צריכים לרענן את הידע שלכם, תוכלו לעיין בתיאור הזה של סימון A1.
- מזינים בתא כתובת רחוב תקינה. בוחרים כתובת בעולם עם מיקום מדויק באמצעות כתובת רחוב, מיקוד או שילוב של עיר ומדינה/מחוז. דוגמה לכתובת בניו יורק:

זה כל מה שצריך לעשות בגיליון האלקטרוני. בואו נפתח את העורך ונכתוב קוד.
5. עריכת קוד Apps Script
עכשיו, אחרי שיש לכם גיליון אלקטרוני חדש ב-Google Sheets, הגיע הזמן לערוך את הסקריפט שקשור אליו. פועלים לפי ההוראות הבאות:
פתיחת הכלי לעריכת סקריפטים
בסרגל התפריטים, לוחצים על תוספים > Apps Script כדי לפתוח את עורך הקוד של Apps Script בדפדפן.
בכרטיסייה חדשה בדפדפן, עורך הקוד מציג את הסקריפט שמוגדר כברירת מחדל container-bound לגיליון. פונקציית ברירת מחדל בשם myFunction() נוצרת באופן אוטומטי, והסמן ממוקם בתוך הפונקציה כדי שתוכלו להתחיל.
שליחת מפה של הכתובת ממפות Google
קוד ה'תבנית' שקיבלת ריק, אז נחליף אותו באפליקציה שלנו.
- בכלי לעריכת סקריפטים, מחליפים את בלוק הקוד
myFunction()שמוגדר כברירת מחדל בקוד הבא:
/** @OnlyCurrentDoc */
function sendMap() {
var sheet = SpreadsheetApp.getActiveSheet();
var address = sheet.getRange('A1').getValue();
var map = Maps.newStaticMap().addMarker(address);
GmailApp.sendEmail('YOUR_EMAIL_ADDR', 'Map', 'See below.', {attachments:[map]});
}
- מחליפים את כתובת האימייל של הפלייס-הולדר (
'YOUR_EMAIL_ADDR') בכתובת אימייל תקינה. לדוגמה, friend@example.com. - כדי לשמור את התסריט, לוחצים על סמל השמירה
.
- כדי לשנות את השם של פרויקט Apps Script, לוחצים על פרויקט ללא שם, מזינים שם לפרויקט ולוחצים על שינוי שם.
בדיקת קוד
בואו נבדוק את 4 השורות של הפונקציה sendMap() שמרכיבות את האפליקציה כולה. מעניין לציין שהקוד מתייחס ל-3 מוצרים שונים של Google.
השורה הראשונה היא הערה שמשפיעה על ההרשאה:
/** @OnlyCurrentDoc */
רוב הסקריפטים מבקשים מהמשתמש הרשאות מסוימות לפני שהם יכולים לפעול. ההרשאות האלה קובעות מה המשתמש מאשר לסקריפט לעשות. השורה הראשונה היא הערה שמכילה הערה אופציונלית שמורה ל-Apps Script להגביל את הגישה לגיליון האלקטרוני הנוכחי (בניגוד לכל הגיליונות האלקטרוניים של המשתמש). מומלץ תמיד לכלול את ההערה הזו כשעובדים רק עם קובץ אחד.
הקוד משתמש בהצהרה רגילה של פונקציית JavaScript עבור sendMap():
function sendMap() {
בשורה הבאה מבוצעת קריאה ל-Spreadsheet Service שאפשר לגשת אליו מ-Apps Script דרך האובייקט SpreadsheetApp. הגיליון שמוחזר מוקצה למשתנה עם אותו שם. ה-method getActiveSheet() מקבל הפניה לאובייקט הגיליון הנוכחי ומאחסן אותו במשתנה sheet.
var sheet = SpreadsheetApp.getActiveSheet();
באובייקט sheet, אנחנו מפנים לטווח התאים (של תא אחד) בסימון A1 באמצעות getRange(). "טווח" הוא קבוצה של תאים, כולל תא בודד כמו תא A1 (התא שבו הזנו את הכתובת). כדי לאחזר את מה שבתוך הטווח, השיטה getValue() מחזירה את הערך של התא הימני העליון בטווח ומקצה את הערך למשתנה address. אפשר גם לנסות להוסיף עוד כתובות ולקרוא מתאים שונות.
var address = sheet.getRange('A1').getValue();
השורה השלישית של הקוד מתחברת לשירות מפות Google באמצעות אובייקט Maps. newStaticMap() יוצר אובייקט מפה סטטי, והשיטה addMarker() מוסיפה 'סיכה' למפה באמצעות הכתובת בגיליון.
var map = Maps.newStaticMap().addMarker(address);
לבסוף, שירות Gmail דרך אובייקט MailApp קורא לשיטה sendEmail() כדי לשלוח את האימייל שכולל את הטקסט 'למטה מופיעה' ואת תמונת המפה כקובץ מצורף.
GmailApp.sendEmail('friend@example.com', 'Map', 'See below.', {attachments:[map]});
}
6. הפעלת אפליקציות Google Sheets, מפות Google ו-Gmail
אחרי שנותנים שם לפונקציה ושומרים אותה, אפשר להריץ אותה. בחלק העליון של הכלי לעריכה, מוודאים שהפונקציה sendMap() נבחרה מתוך רשימת הפונקציות ולוחצים על הפעלה.
תכונה של Apps Script שמפתחים מעריכים היא שלא צריך לכתוב קוד הרשאה שמעניק לתוכנית גישה לנתונים של המשתמש. למרות ש-Apps Script מנהל את זה, משתמשים באפליקציה שלכם עדיין צריכים להעניק הרשאה לסקריפט לגשת לגיליונות האלקטרוניים שלהם ולשלוח אימייל דרך Gmail. תיבת הדו-שיח הראשונה לאישור נראית כך:

כדי להמשיך, לוחצים על בדיקת הרשאות.
לאחר מכן יוצג חלון דו-שיח של OAuth2 עם בקשה להרשאת גישה לגיליון ולשליחת אימייל בשמכם:

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

כשפותחים את הקובץ המצורף בהודעת האימייל, אמורה להיפתח מפת Google עם סיכה בכתובת שהזנתם בגיליון:

באמצעות ארבע שורות קוד בלבד, קיבלתם גישה ל-3 מוצרים שונים של Google בצורה משמעותית.
7. מקורות מידע נוספים
הקוד שמופיע ב-Codelab הזה זמין גם במאגר GitHub שלו בכתובת github.com/googleworkspace/apps-script-intro-codelab. בהמשך מופיעים מקורות מידע נוספים שיעזרו לכם להעמיק בחומר שמופיע ב-codelab הזה ולגלות דרכים אחרות לגשת לכלים למפתחים של Google באופן פרוגרמטי.
מאמרי עזרה
- אתר התיעוד של Google Apps Script
- Apps Script: שירות Gmail
- Apps Script: Spreadsheet Service
- Apps Script: Maps Service
סרטונים
חדשות ועדכונים
- בלוג המפתחים של Google Workspace
- טוויטר: Google Workspace Developers (@workspacedevs)
Codelabs נוספים
רמה למתחילים
- [Google Sheets] Fundamentals of Apps Script with Google Sheets
- [REST APIs] שימוש בממשקי Google Workspace ו-Google API כדי לגשת לקבצים ולתיקיות ב-Google Drive
רמה בינונית
- [Apps Script] Google Workspace Add-ons for Gmail
- [Apps Script] בוטים בהתאמה אישית ל-Hangouts Chat
- [REST APIs] שימוש ב-Google Sheets ככלי ליצירת דוחות באפליקציה
- [REST APIs] יצירת מצגות ב-Google Slides באמצעות BigQuery API