היקפי הרשאות

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

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

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

בתהליך ההרשאה, Apps Script מציג למשתמש תיאורים קריאים לאנשים של ההיקפים הנדרשים. לדוגמה, אם לסקריפט נדרשת הרשאת קריאה בלבד לגיליונות האלקטרוניים, ייתכן שהמניפסט יכלול את ההיקף https://www.googleapis.com/auth/spreadsheets.readonly. במהלך תהליך ההרשאה, סקריפט עם ההיקף הזה מבקש מהמשתמש לאפשר לאפליקציה 'להציג את הגיליונות האלקטרוניים של Google'.

חלק מההיקפים כוללים היקפים אחרים. לדוגמה, כאשר ההיקף https://www.googleapis.com/auth/spreadsheets מאפשר גישת קריאה וכתיבה לגיליונות אלקטרוניים.

הצגת היקפים

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

  1. פותחים את פרויקט הסקריפט.
  2. בצד ימין, לוחצים על Overview (סקירה כללית).
  3. הצגת ההיקפים בקטע היקפי OAuth של הפרויקט.

הגדרת היקפים מפורשים

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

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

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

  1. פותחים את פרויקט הסקריפט.
  2. בצד ימין, לוחצים על Project Settings (הגדרות הפרויקט) .
  3. מסמנים את התיבה Show "appsscript.json" המניפסט בעורך.
  4. בצד ימין, לוחצים על עורך .
  5. בצד ימין, לוחצים על הקובץ appsscript.json.
  6. אתר את השדה ברמה העליונה בשם oauthScopes. אם הוא לא מופיע, אפשר להוסיף אותו.
  7. השדה oauthScopes מציין מערך של מחרוזות. כדי להגדיר את ההיקפים שבהם ייעשה שימוש בפרויקט, צריך להחליף את התוכן של המערך הזה בהיקפים הרצויים. לדוגמה:
          {
            ...
            "oauthScopes": [
              "https://www.googleapis.com/auth/spreadsheets.readonly",
              "https://www.googleapis.com/auth/userinfo.email"
            ],
           ...
          }
    
  8. בחלק העליון, לוחצים על 'שמירה' .

אימות OAuth

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

היקפים מוגבלים

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

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