במסמך הזה מפורט מידע על הרשאות ואימות שספציפיים ל-Google Drive API. לפני שקוראים את המסמך הזה, חשוב לקרוא את המידע הכללי על אימות והרשאה ב-Google Workspace במאמר מידע על אימות והרשאה.
הגדרת OAuth 2.0 למתן הרשאות
כדי לתת הרשאה לאפליקציה, צריך להגדיר היקפי OAuth ב-Google Drive API בשני מקומות: במסוף Google Cloud ובאפליקציה.
ב-Google Cloud Console, צריך להצהיר על היקפי הגישה שהאפליקציה צריכה בהגדרות של מסך ההסכמה ל-OAuth. זו רמת ההרשאות הגבוהה ביותר שהאפליקציה יכולה לבקש. ההצהרה הזו משמשת כבקשה רשמית ל-Google, וההיקפים המוצהרים הם מה ש-Google מציגה למשתמשים במסך ההסכמה. ההסבר מאפשר למשתמש להבין בדיוק לאילו נתונים ופעולות האפליקציה מבקשת גישה.
מגדירים את מסך ההסכמה של OAuth ובוחרים היקפי הרשאה כדי להגדיר איזה מידע יוצג למשתמשים ולבודקי האפליקציה, ורושמים את האפליקציה כדי שתוכלו לפרסם אותה בהמשך.
באפליקציה, כשמפעילים את ה-API, צריך לבקש במפורש את ההיקפים הספציפיים שנדרשים לסשן. מסוף Google Cloud מגדיר את רמת ההרשאות הכי גבוהה שהאפליקציה יכולה לבקש, אבל הקוד קובע את ההרשאות בפועל למשתמש מסוים. כך אפשר לוודא שהאפליקציה מבקשת רק את ההרשאות שנדרשות למשימה ספציפית.
אפשר להצהיר על היקף הרשאות אחד או יותר ל-OAuth בכל פעם בקוד של האפליקציה כמערך.
בדוגמת הקוד הבאה אפשר לראות איך להצהיר על כמה היקפי הרשאה של OAuth:
Java
List<String> SCOPES = Arrays.asList(
DriveScopes.DRIVE_FILE,
DriveScopes.DRIVE_METADATA_READONLY
);
Python
SCOPES = [
"https://www.googleapis.com/auth/drive.file",
"https://www.googleapis.com/auth/drive.metadata.readonly",
]
Node.js
const SCOPES = [
'https://www.googleapis.com/auth/drive.file',
'https://www.googleapis.com/auth/drive.metadata.readonly'
];
כדי לראות איך מצהירים על היקפים ואיך משתמשים בהם בדוגמת קוד מלאה, אפשר לעיין במדריכי התחלה מהירה.
היקפי ההרשאות של Drive API
כדי להגדיר את רמת הגישה שניתנת לאפליקציה, צריך לזהות ולהצהיר על היקפי הרשאות. היקף הרשאות הוא מחרוזת URI של OAuth 2.0 שמכילה את שם אפליקציית Google Workspace, את סוג הנתונים שהאפליקציה ניגשת אליהם ואת רמת הגישה. ההיקפים הם הבקשות של האפליקציה לעבוד עם נתוני Google Workspace, כולל נתוני חשבון Google של המשתמשים.
כשמתקינים את האפליקציה, המשתמש מתבקש לאמת את היקפי ההרשאות שבהם נעשה שימוש באפליקציה. בדרך כלל, כדאי לבחור את היקף ההרשאות המצומצם ביותר שאפשר, ולהימנע מבקשת היקפי הרשאות שהאפליקציה לא צריכה. המשתמשים נוטים יותר להעניק גישה להיקפים מוגבלים שמתוארים בצורה ברורה.
כדאי להשתמש בהיקפי הרשאות לא רגישים ככל האפשר, כי הם מאפשרים גישה לכל קובץ בנפרד ומצמצמים את הגישה לתכונות ספציפיות שנדרשות לאפליקציה.
היקפי הרשאות לא רגישים
ההיקפים הבאים של Drive API מומלצים לרוב תרחישי השימוש:
| קוד היקף | תיאור |
|---|---|
https://www.googleapis.com/auth/drive.appdata |
הצגה וניהול של נתוני התצורה של האפליקציה ב-Google Drive. |
https://www.googleapis.com/auth/drive.install |
לאפשר לאפליקציות להופיע כאפשרות בתפריט 'פתיחה באמצעות' או בתפריט 'חדש'. |
https://www.googleapis.com/auth/drive.file |
יצירת קבצים חדשים ב-Drive או שינוי קבצים קיימים שפותחים באמצעות אפליקציה או שהמשתמש משתף עם אפליקציה בזמן השימוש ב-Google Picker API או בכלי לבחירת קבצים של האפליקציה. |
היקפי הרשאות רגישים
| קוד היקף | תיאור |
|---|---|
https://www.googleapis.com/auth/drive.apps.readonly |
הצגת האפליקציות שמורשות לגשת ל-Drive. |
היקפים מוגבלים
| קוד היקף | תיאור |
|---|---|
https://www.googleapis.com/auth/drive |
לצפות בכל הקבצים ב-Drive ולנהל אותם. |
https://www.googleapis.com/auth/drive.readonly |
הצגה והורדה של כל הקבצים ב-Drive. |
https://www.googleapis.com/auth/drive.activity |
הצגת רשומות הפעילות של הקבצים ב-Drive והוספת פעילויות. |
https://www.googleapis.com/auth/drive.activity.readonly |
הצגת רשומות הפעילות של הקבצים ב-Drive. |
https://www.googleapis.com/auth/drive.meet.readonly |
צפייה בקבצים ב-Drive שנוצרו או נערכו ב-Google Meet. |
https://www.googleapis.com/auth/drive.metadata |
הצגה וניהול של מטא נתונים של קבצים ב-Drive. |
https://www.googleapis.com/auth/drive.metadata.readonly |
הצגת מטא נתונים של קבצים ב-Drive. |
https://www.googleapis.com/auth/drive.scripts |
שינוי ההתנהגות של הסקריפטים של Google Apps Script. |
ההיקפים בטבלאות הקודמות מציינים את הרגישות שלהם, בהתאם להגדרות הבאות:
לא רגיש: היקפי ההרשאות האלה מספקים את היקף ההרשאות המינימלי ונדרש רק אימות בסיסי של אפליקציית OAuth. מידע נוסף זמין במאמר בנושא דרישות האימות.
רגישים: היקפי ההרשאות האלה מספקים גישה לנתוני משתמשים ספציפיים ב-Google שהמשתמשים מאשרים לאפליקציה שלכם. הם דורשים אימות נוסף של אפליקציית OAuth. מידע נוסף זמין במאמר בנושא דרישות לגבי היקפים רגישים ומוגבלים.
מוגבל: היקפי ההרשאות האלה מספקים גישה רחבה לנתוני משתמשים ב-Google, ונדרש עבורם אימות של אפליקציית OAuth עם היקף הרשאות מוגבל. מידע נוסף זמין במאמרים המדיניות של Google בנושא נתוני משתמשים בשירותי API ודרישות נוספות להיקפי הרשאות ספציפיים של API. מידע נוסף זמין בתנאים ובהגבלות של Google Drive.
אם אתם מאחסנים נתונים בהיקף מוגבל בשרתים (או מעבירים אותם), אתם חייבים לעבור בדיקת אבטחה.
אם האפליקציה שלכם דורשת גישה לממשקי Google API אחרים, תוכלו להוסיף גם את היקפי ההרשאות האלה. מידע נוסף על היקפי Google API זמין במאמר שימוש ב-OAuth 2.0 לגישה ל-Google APIs.
מידע נוסף על היקפי הרשאות ספציפיים של OAuth 2.0 מופיע במאמר היקפי הרשאות של OAuth 2.0 ל-Google APIs.
הסמכות להיקפי גישה מוגבלים
רק סוגים מסוימים של אפליקציות מורשים להשתמש בהיקפי הרשאות מוגבלים ב-Google Drive. כדי לעמוד בדרישות, האפליקציה שלכם צריכה להשתייך לאחת מהקטגוריות הבאות:
גיבוי וסנכרון: אפליקציות ספציפיות לפלטפורמה ואפליקציות אינטרנט שמספקות סנכרון מקומי או גיבוי אוטומטי של קבצים ב-Drive של המשתמשים.
פרודוקטיביות וחינוך: אפליקציות עם ממשק משתמש ראשי שעשוי לכלול אינטראקציה עם קבצים, מטא-נתונים או הרשאות ב-Drive. האפליקציות האלה כוללות אפליקציות לניהול משימות, לסיכום פגישות, לתקשורת בין קבוצות עבודה ולשיתוף פעולה בכיתה.
דיווח ואבטחה: אפליקציות שמספקות למשתמשים או ללקוחות תובנות לגבי אופן השיתוף או הגישה לקבצים.
כדי להמשיך להשתמש בהיקפי גישה מוגבלים, צריך להכין את האפליקציה לאימות של היקפי גישה מוגבלים.
העברה של אפליקציה קיימת מהיקפי הרשאות מוגבלים
אם אפליקציית Drive שלכם משתמשת בהיקפי הרשאות מוגבלים, מומלץ לבצע מיגרציה להיקף הרשאות לא רגיש של Drive API. שימוש בהיקפי הרשאות לא רגישים, כמו drive.file, מעניק גישה מצומצמת לכל קובץ בנפרד לתכונות ספציפיות שנדרשות לאפליקציה.
הרבה אפליקציות יכולות לעבור לגישה לכל קובץ בנפרד בלי שום שינוי.
אם אתם משתמשים בכלי לבחירת קבצים משלכם, מומלץ לעבור ל- Google Picker API, שתומך באופן מלא בהיקפי הרשאות שונים.
היתרונות של היקף ההרשאה לקובץ ב-Drive
השימוש בהיקף ההרשאות של drive.file OAuth בשילוב עם Google Picker API משפר את חוויית המשתמש ומגביר את הבטיחות באפליקציה.
drive.file היקף ההרשאות של OAuth מאפשר למשתמשים לבחור אילו קבצים הם רוצים לשתף עם האפליקציה. כך הם מקבלים יותר שליטה וביטחון שהגישה של האפליקציה לקבצים שלהם מוגבלת ומאובטחת יותר. לעומת זאת, אם תדרשו גישה רחבה לכל הקבצים ב-Drive, יכול להיות שהמשתמשים לא ירצו להשתמש באפליקציה שלכם.
ריכזנו כאן כמה סיבות לשימוש בהיקף drive.file:
נוחות השימוש: היקף ההרשאות
drive.fileפועל עם כל משאבי ה-REST של Drive API, כך שאפשר להשתמש בו באותו אופן שבו משתמשים בהיקפי הרשאות רחבים יותר של OAuth.תכונות: ממשק Google Picker API דומה לממשק המשתמש של Drive. האפליקציה כוללת כמה תצוגות שבהן מוצגות תצוגות מקדימות ותמונות ממוזערות של קבצים ב-Drive, וחלון מודאלי מוטבע כדי שהמשתמשים לא יצטרכו לצאת מהאפליקציה הראשית.
נוחות: אפליקציות יכולות להחיל מסננים על סוגים מסוימים של קבצים ב-Drive (כמו Google Docs, Sheets ותמונות) כשמשתמשים במסנן בקבצים של Google Picker.
אימות פשוט: מכיוון ש-
drive.fileלא רגיש, תהליך האימות פשוט יותר.
אחסון מאובטח של אסימוני רענון
כדי לגשת לנתונים פרטיים באמצעות Drive API, האפליקציה שלכם צריכה לקבל אסימון גישה שמעניק גישה ל-API הזה. אסימון גישה אחד יכול להעניק רמות שונות של גישה למספר ממשקי API, בהתאם להיקפים שביקשתם.
אסימוני הגישה הם לטווח קצר, ולכן צריך להשתמש באסימוני רענון כדי לקבל גישה ל-Drive API לטווח ארוך. אסימון רענון מאפשר לאפליקציה לבקש אסימוני גישה חדשים.
שומרים את אסימוני הרענון באחסון מאובטח לטווח ארוך וממשיכים להשתמש בהם כל עוד הם תקפים.
למידע נוסף, תוכלו לקרוא את המאמר שימוש ב-OAuth 2.0 לגישה ל-Google APIs.
נושאים קשורים
- במאמר הזה מוסבר על אימות והרשאה ב-Google Workspace.
- בסקירה הכללית על אימות תוכלו לקרוא על אימות והרשאה ב-Google Cloud.
- מידע נוסף על חשבונות שירות זמין במאמר חשבונות שירות.
- לקבלת עזרה בפתרון בעיות, אפשר לעיין במאמר פתרון שגיאות.