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