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

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

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