התנסות מעשית עם סקריפט של Google Apps: גישה ל-Google Sheets, למפות Google ול-Gmail ב-4 שורות קוד!

1. מבוא ל-Google Apps Script

ב-Codelab הזה, נציג לכם אחת מהדרכים הפשוטות ביותר לכתוב קוד שניגשים לטכנולוגיות של מפתחים של Google. כדי לעשות את זה, אנחנו משתמשים ב-JavaScript, שפת מיינסטרים לפיתוח אתרים. בעזרת הסקריפט של Google Apps, תוכלו לכתוב קוד לחילוץ כתובת רחוב מתא בגיליון אלקטרוני ב-Google Sheets, ליצור מפת Google על סמך הכתובת ולאחר מכן לשלוח את המפה כקובץ מצורף באמצעות Gmail. והכי חשוב? יהיה בו רק ארבע שורות קוד.

מה תלמדו

  • איך להשתמש ב-Google Apps Script בעזרת מגוון שירותי Google, כגון Google Sheets, מפות Google ו-Gmail.
  • אתם יכולים לפתח קוד באמצעות העורך המובנה ב-Apps Script.

למה תזדקק?

  • דפדפן אינטרנט עם גישה לאינטרנט
  • חשבון Google (חשבונות Google Workspace עשויים לדרוש אישור אדמין)
  • היכרות בסיסית עם Google Sheets
  • יכולת לקרוא סימון A1 ב-Sheets

2. סקר

איך אתם משתמשים ב-codelab/במדריך הזה?

לקריאה בלבד לקרוא אותו ולבצע את התרגילים

איזה דירוג מגיע לחוויה שלך עם הכלים למפתחים של Google Workspace? ממשקי API?

מתחילים בינונית בקיאים

3. סקירה כללית

עכשיו, אחרי שאתם יודעים במה עוסק ה-Codelab, מה בדיוק תעשו?

  1. מידע נוסף על Apps Script, שמבוסס על JavaScript.
  2. יוצרים גיליון אלקטרוני ב-Google Sheets.
  3. מזינים כתובת פיזית בתא הימני העליון (A1) של הגיליון האלקטרוני.
  4. כאן מוסבר איך לפתוח את עורך Apps Script בכל מסמך.
  5. עריכת הקוד של Apps Script, שמירה והפעלה שלו.
  6. אפשר להשתמש ב-Gmail כדי לראות את התוצאה.

בואו נתחיל.

מהו Google Apps Script?

Google Apps Script הוא פלטפורמת פיתוח שמאפשרת ליצור סקריפטים ואפליקציות קטנות במהירות ובקלות, שמשתלבים עם Google Workspace. באמצעות Apps Script, תוכלו:

  • כתיבת קוד ב-JavaScript וגישה לספריות מובנות של אפליקציות Google Workspace כמו Gmail, יומן, Drive וכו'.
  • לא צריך להתקין שום דבר — אנחנו מספקים עורך קוד ישירות בדפדפן, והסקריפטים פועלים בשרתים של Google.
  • אין צורך לדאוג לגבי נושאים מורכבים, כמו הרשאות אבטחה וגישה לנתונים, כי הפלטפורמה מטפלת בזה בשבילכם.

אפשר להשתמש ב-Apps Script כדי ליצור מגוון אפליקציות, מצ'אט בוטים ועד אפליקציות אינטרנט. אחד השימושים הנפוצים ביותר הוא הרחבת הפונקציונליות של גיליון אלקטרוני ב-Google Sheets. בחלק הנותר של השיעור הזה תלמדו איך להשתמש ב-Apps Script כדי לקחת נתונים מגיליון אלקטרוני ולחבר אותם לשירותים אחרים של Google.

4. יצירת גיליון אלקטרוני ב-Google Sheets יש להזין רחוב

בגיליון אלקטרוני חדש ב-Google Sheets, יש להזין רחוב חוקי לפי ההוראות הבאות:

  1. אפשר ליצור גיליון אלקטרוני ב-Google Sheets באמצעות קישור הנוחות הזה (sheets.google.com/create). לחלופין, אפשר להיכנס אל Google Drive (drive.google.com) וללחוץ על חדש > Google Sheets > גיליון אלקטרוני ריק

413a93e5b2f6b3d4.png

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

7077e446455639df.png

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

5. עריכת הקוד של Apps Script

עכשיו, לאחר שיצרתם גיליון אלקטרוני חדש ב-Google Sheets, זה הזמן לערוך את הסקריפט שכבול אליו. פועלים לפי ההוראות הבאות:

פתיחת הכלי לעריכת סקריפטים

בסרגל התפריטים, בוחרים באפשרות תוספים > Apps Script כדי לפתוח את עורך הקוד בדפדפן של Apps Script.

בכרטיסייה חדשה בדפדפן, עורך הקוד מציג את סקריפט ברירת המחדל שכפוף לקונטיינר של הגיליון. פונקציית ברירת מחדל בשם myFunction() נוצרת באופן אוטומטי, והסמן מוצב בתוך הפונקציה כדי שתוכלו להתחיל.

שליחת מפת Google של הכתובת באימייל

ה"תבנית" הקוד שקיבלת ריק, לכן נחליף אותו באפליקציה שלנו.

  1. בעורך הסקריפטים, מחליפים את בלוק הקוד 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]});
}
  1. מחליפים את כתובת האימייל של ה-placeholder ('YOUR_EMAIL_ADDR') בכתובת תקינה. לדוגמה, friend@example.com.
  2. כדי לשמור את הסקריפט, לוחצים על סמל השמירה הצלה.
  3. כדי לשנות את שם הפרויקט ב-Apps Script, לוחצים על Untitled project, מזינים שם לפרויקט ולוחצים על Rename.

בדיקת הקוד

נבחן את 4 השורות של הפונקציה sendMap() שמרכיבות את כל האפליקציה. באופן מעניין, הקוד מפנה ל-3 מוצרים שונים של Google.

השורה הראשונה היא תגובת הערה שמשפיעה על ההרשאה:

/** @OnlyCurrentDoc */

רוב הסקריפטים מבקשים מהמשתמש הרשאות מסוימות כדי להפעיל אותו. ההרשאות האלה קובעות מה המשתמש מאפשר לסקריפט לעשות. השורה הראשונה היא תגובה שמכילה הערה אופציונלית שמורה ב-Apps Script להגביל את הגישה לגיליון האלקטרוני הנוכחי (בניגוד לכל הגיליונות האלקטרוניים של המשתמש). מומלץ תמיד לכלול את ההערה הזו בעבודה עם קובץ אחד בלבד.

הקוד משתמש בהצהרה רגילה של פונקציית JavaScript עבור sendMap():

function sendMap() {

השורה הבאה מפעילה את שירות הגיליון האלקטרוני שניתן לגשת אליו מ-Apps Script דרך האובייקט SpreadsheetApp. הגיליון שמוחזר מוקצה למשתנה באותו שם. השיטה 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() מסומנת ברשימת הפונקציות ולוחצים על Run.

אחת התכונות של Apps Script היא שאין צורך לכתוב קוד הרשאה שמעניק לתוכנית גישה לנתוני המשתמש. למרות ש-Apps Script מנהל את זה, משתמשי האפליקציה עדיין צריכים להעניק לסקריפט הרשאה לגשת לגיליונות האלקטרוניים שלהם ולשלוח אימייל באמצעות Gmail. תיבת הדו-שיח הראשונה להרשאה נראית כך:

ba6e1a798e404e0d.png

לוחצים על בדיקת ההרשאות כדי להמשיך.

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

9bed7ef1ccbd7569.png

אחרי שמעניקים הרשאה, הסקריפט ירוץ עד לסיומו.

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

51f61fc51a13d28f.png

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

739bb45b75e3f7c7.png

השתמשתם בארבע שורות קוד בלבד כדי לגשת ל-3 מוצרים שונים של Google בצורה משמעותית.

7. מקורות מידע נוספים

הקוד שמוצג ב-Codelab הזה זמין גם במאגר שלו ב-GitHub בכתובת github.com/googleworkspace/apps-script-intro-codelab. בהמשך ריכזנו מקורות מידע נוספים שיעזרו לכם להתעמק בתוכן שנלמד ב-Codelab הזה, ולגלות דרכים אחרות לגשת לכלים של Google למפתחים באופן פרוגרמטי.

מאמרי עזרה

סרטונים

חדשות ו עדכונים

Codelabs אחרים

רמה למתחילים

רמה בינונית

אפליקציות עזר