ספריות

ספרייה היא פרויקט סקריפט שאפשר לעשות בו שימוש חוזר בפונקציות בסקריפטים אחרים.

קבלת גישה לספרייה

כדי לכלול ספרייה בפרויקט, צריכה להיות לכם לפחות רמת תצוגה ברמת התצוגה לגשת אליו. אם אתם לא המחברים של הספרייה שאתם רוצים כוללים, יש לפנות למחבר ולבקש גישה.

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

הוספת ספרייה לפרויקט הסקריפטים

  1. מימין לעורך Apps Script, לצד 'ספריות'. לוחצים על 'הוספה לספרייה.
  2. בקטע 'מזהה סקריפט' בשדה, מדביקים את מזהה הסקריפט של הספרייה.
  3. לוחצים על חיפוש.
  4. לוחצים על התפריט הנפתח גרסה ובוחרים את גרסת הספרייה. לשימוש.
  5. בודקים אם שם ברירת המחדל של 'מזהה' הוא השם שרוצים להשתמש בו בספרייה הזו. זה השם שבו הסקריפט משתמש כדי להתייחס לספרייה. לדוגמה, אם מגדירים אותו כ-Test, אפשר לקרוא ל-method של הספרייה הזו באופן הבא: Test.libraryMethod().
  6. לוחצים על הוספה.

שימוש בספרייה

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

כדי לפתוח את מסמכי העזרה של ספרייה כלולה:

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

הסרת ספרייה

בצד ימין של עורך הסקריפטים, לצד שם הספרייה, לוחצים על סמל האפשרויות הנוספות > הסרה > הסרת הספרייה

עדכון ספרייה

אפשר לשנות את גרסת הספרייה או לעדכן את המזהה שלה.

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

יצירה ושיתוף של ספרייה

כדי להשתמש בפרויקט הסקריפט ולשתף אותו כספרייה, צריך לפעול לפי השלבים הבאים.

  1. יצירת פריסה עם גרסאות של הסקריפט.
  2. לשתף גישה ברמת התצוגה המפורטת לפחות עם כל המשתמשים הפוטנציאליים בספרייה.
  3. נותנים למשתמשים האלה את מזהה הסקריפט, שנמצא בדף Project settings.

שיטות מומלצות

הנה כמה הנחיות לכתיבת ספרייה:

  1. לבחור שם בעל משמעות לפרויקט כי הוא משמש כברירת מחדל, כשהספרייה שלכם כלולה על ידי אחרים.
  2. אם אתם רוצים ששיטה אחת או יותר מהסקריפט לא תהיה גלויה (או שאפשר יהיה להשתמש בה) למשתמשים בספרייה, תוכלו לסיים את שם השיטה בקו תחתון. לדוגמה, myPrivateMethod_().
  3. רק מאפיינים גלובליים שניתן למנות אותם גלויים למשתמשים בספרייה. זה כולל פונקציה הצהרות, משתנים שנוצרו מחוץ לפונקציה עם var ומאפיינים שהוגדרו במפורש על האובייקט הגלובלי. לדוגמה, Object.defineProperty() עם enumerable מוגדר ל-false יוצר סמל שבו ניתן להשתמש בספרייה, אבל המשתמשים לא יכולים לגשת לסמל.
  4. אם ברצונך שמשתמשי הספרייה שלך ישתמשו בהשלמה אוטומטית של עורך הסקריפטים התיעוד שנוצר באופן אוטומטי, חייב להיות בסגנון JSDoc תיעוד של כל הפונקציות. לדוגמה:

    /**
     * Raises a number to the given power, and returns the result.
     *
     * @param {number} base the number we're raising to a power
     * @param {number} exp the exponent we're raising the base to
     * @return {number} the result of the exponential calculation
     */
    function power(base, exp) { ... }
    

קביעת היקף המשאבים

כשעובדים עם ספריות, יש שני סוגים של משאבים: משאבים משותפים ומשאבים לא משותפים. המשמעות של משאב משותף היא שגם הספרייה וגם לסקריפט יש גישה מובנית לאותו מופע של המשאב. בתרשים הבא מוצג משאב משותף באמצעות דוגמה של מאפייני משתמשים:

משאב משותף

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

  function getLibraryProperty(key) {
    return ScriptProperties.getProperty(key);
  }

בתרשים הבא מוצג משאב לא משותף, באמצעות הדוגמה של מאפייני סקריפט:

משאב לא משותף

בטבלה הזו מפורטים המשאבים המשותפים והמשאבים שלא משותפים לעיונך:

משאב משותף* לא משותף** הערות
נעילה אותו מכונה גלויה לכולם, כולל סקריפטים שנוצרים בספרייה.
מאפייני הסקריפט אותו מכונה גלויה לכולם, כולל סקריפטים שנוצרים בספרייה.
מטמון אותו מופע גלוי לכל, כולל הסקריפטים כשהם נוצרים ב- בספרייה.
טריגרים טריגרים פשוטים שנוצרים בספרייה לא מופעלים על ידי הכלל סקריפט.
ScriptApp
UiApp
מאפייני המשתמש
תמליל ותמליל הביצוע
אתרים, גיליונות ומאגרים קיימים אחרים קריאה ל-getActive() מחזירה את הקונטיינר של כולל סקריפט.
MailApp ו-GmailApp
* המשמעות היא שלספרייה אין מופע משלה ובמקום זאת הוא משתמש במשאב שנוצר על ידי הסקריפט שהפעיל אותה.
** כלומר, לספרייה יש מופע משלה של המשאב או התכונה ושכל הסקריפטים שמשתמשים בספרייה משתפים ויש להם גישה אותו מופע.

בדיקת ספרייה

כדי לבדוק את הספרייה, צריך להשתמש בפריסת כותרת. כל מי שיש לו הרשאת עריכה בסקריפט יכול להשתמש בפריסה של ה-head.

ניפוי באגים בספרייה

כשמשתמשים בכלי לניפוי באגים בפרויקט שכולל ספרייה יכול להיכנס לפונקציה של הספרייה הכלולה. הקוד מופיע את הכלי לניפוי באגים במצב תצוגה בלבד ובגרסה הנכונה.