המשתמשים חייבים לאשר פרויקטים של סקריפטים שניגשים לנתונים שלהם או מבצעים פעולות בנוגע אליהם בשם. כאשר משתמש מריץ סקריפט שדורש הרשאה עבור זמן, ממשק המשתמש מציג הנחיה להתחיל את תהליך ההרשאה.
במהלך התהליך הזה, ממשק המשתמש מודיע למשתמש מה הסקריפט מבקש לעשות. לדוגמה, יכול להיות שהסקריפט יבקש הרשאה לקרוא את הודעות האימייל של המשתמש או ליצור אירועים ביומן שלו. ההרשאות הפרטיות האלה מוגדרות בפרויקט הסקריפט בתור היקפי OAuth.
ברוב הסקריפטים, Apps Script מזהה באופן אוטומטי את היקפי ההרשאות נחוצים לך, אפשר לצפות בהיקפים שבהם סקריפט משתמש בכל שלב. אפשר גם להגדיר היקפים באופן מפורש במניפסט באמצעות מחרוזות של כתובות URL. לפעמים צריך להגדיר את ההיקפים באופן מפורש לאפליקציות מסוימות, כמו תוספים, כי באפליקציות שפורסמו צריך תמיד להשתמש בהיקפים הצרים ביותר האפשריים.
במהלך תהליך ההרשאה, מערכת Apps Script מציגה למשתמש תיאורים של היקפי ההרשאות הנדרשים שניתנים לקריאה על ידי בני אדם. לדוגמה, אם הסקריפט
נדרשת הרשאת קריאה בלבד לגיליונות האלקטרוניים, למניפסט יכול להיות היקף
https://www.googleapis.com/auth/spreadsheets.readonly
במהלך
זרם הרשאה, סקריפט עם ההיקף הזה מבקש מהמשתמש לאפשר זאת
"הצגת הגיליונות האלקטרוניים של Google".
חלק מההיקפים כוללים אחרים. לדוגמה, אחרי שנתתם את ההרשאה להיקף
במסגרת https://www.googleapis.com/auth/spreadsheets
יש הרשאת גישה לקריאה וכתיבה ל-
בגיליונות האלקטרוניים.
צפייה בהיקפים
כדי לראות את ההיקפים הנדרשים כרגע לפרויקט הסקריפט:
- פותחים את פרויקט הסקריפט.
- בצד ימין, לוחצים על סקירה כללית. .
- אפשר לראות את היקפי ההרשאות בקטע היקפי OAuth של פרויקט.
הגדרת היקפים מפורשים
מערכת Apps Script קובעת באופן אוטומטי את ההיקפים הנדרשים לסקריפט על ידי סריקת הקוד שלו כדי לאתר קריאות לפונקציות שדורשות אותם. עבור רוב הסקריפטים הפעולה הזו מספיק וחוסכת לכם זמן, אבל עבור תוספים שפורסמו, אפליקציות, אפליקציות של Google Chat וקריאות ל-Google Chat API, חובה להשקיע יותר שליטה ישירה על היקפים.
לפעמים Apps Script מקצה לפרויקטים היקפים פחות מחמירים. יכול להיות שהסקריפט מבקש מהמשתמש יותר כסף ממה שהוא צריך, וזה עלול בפועל. בסקריפטים שפורסמו, צריך להחליף היקפים רחבים בקבוצה מוגבלת יותר שמכסה את צורכי הסקריפט, ולא יותר.
אפשר להגדיר במפורש את היקפי ההרשאות שבהם משתמש פרויקט הסקריפט באמצעות עריכה
את קובץ המניפסט שלו. השדה manifest oauthScopes
הוא מערך של כל ההיקפים שבהם הפרויקט משתמש. כדי להגדיר
של הפרויקט, בצעו את הפעולות הבאות:
- פותחים את פרויקט הסקריפט.
- בצד ימין, לוחצים על הגדרות הפרויקט .
- בוחרים באפשרות הצגת "appsscript.json" תיבת הסימון של קובץ מניפסט בעורך.
- בצד ימין, לוחצים על עריכה .
- בצד ימין, לוחצים על הקובץ
appsscript.json
. - מאתרים את השדה ברמה העליונה בשם
oauthScopes
. אם הוא לא נמצא, אפשר להוסיף אותו. - השדה
oauthScopes
מציין מערך של מחרוזות. כדי להגדיר את היקפי ההרשאות בפרויקט שלכם, מחליפים את התוכן של המערך בהיקפים שצריך להשתמש בו. לדוגמה:{ ... "oauthScopes": [ "https://www.googleapis.com/auth/spreadsheets.readonly", "https://www.googleapis.com/auth/userinfo.email" ], ... }
- לוחצים על סמל השמירה בראש המסך.
אימות OAuth
היקפי הרשאות מסוימים של OAuth הם רגישים כי הם מאפשרים גישה ל-Google נתוני משתמש. אם בפרויקט הסקריפט שלכם נעשה שימוש בהיקפים שמאפשרים גישה לנתוני משתמשים, הפרויקט צריך לעבור אימות לקוח OAuth לפני שתוכלו לפרסם אותה באופן ציבורי כאפליקציית אינטרנט, או . מידע נוסף זמין במדריכים הבאים:
- אימות לקוחות OAuth ב-Apps Script
- אפליקציות לא מאומתות
- שאלות נפוצות בנושא אימות OAuth
- שירות Google APIs: המדיניות בנושא נתוני משתמשים
היקפים מוגבלים
בנוסף להיקפים רגישים, היקפים מסוימים מסווגים בתור מוגבל והם כפופים לכללים נוספים שעוזרים להגן על נתוני המשתמשים. אם אתם מתכוונים לפרסם אפליקציית אינטרנט או תוסף שמשתמשים בהיקף מוגבל אחד או יותר, האפליקציה צריכה לעמוד בכל ההגבלות שצוינו לפני שאפשר יהיה לפרסם אותה.
לרשימה המלאה של היקפים מוגבלים לפני שמנסים לפרסם. אם אחד מהכלים האלה משמש את האפליקציה שלך, עליך לעמוד בדרישות המדיניות עם דרישות נוספות להיקפים ספציפיים של API לפני הפרסום.