היקפי ההרשאות

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

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

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

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

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

צפייה בהיקפים

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

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

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

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

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

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

  1. פותחים את פרויקט הסקריפט.
  2. בצד ימין, לוחצים על הגדרות הפרויקט .
  3. מסמנים את התיבה הצגת קובץ המניפסט '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 לפני הפרסום.