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

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

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

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

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

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

הצגת היקפים

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

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

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

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

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

אפשר לערוך את קובץ manifest כדי להגדיר במפורש את היקפי ההרשאות שבהם משתמש פרויקט הסקריפט. שדה המניפסט 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 ספציפיים לפני הפרסום.