הצעת גישה היא הצעה של מבקש לאישור כדי להעניק לנמען גישה לפריט ב-Google Drive.
אישור יכול לבדוק את כל הצעות הגישה שלא טופלו בקבצים ב-Drive ולבצע פעולות בהתאם. כלומר, אפשר לזרז את תהליך האישור על ידי שליחת שאילתות פרוגרמטיות לגבי הצעות גישה, ולאחר מכן פתרון שלהן. בנוסף, היא מאפשרת למאשרים לראות את ההצעות באופן מצטבר.
באמצעות Google Drive API תוכלו להשתמש במשאב accessproposals
כדי להציג ולטפל בבקשות גישה בהמתנה. השיטות של המשאב accessproposals
פועלות על קבצים, תיקיות, הקבצים באחסון שיתופי, אבל לא על האחסון השיתופי עצמו.
המונחים הבאים ספציפיים להצעות גישה:
- מבקש: המשתמש שיזם את הצעת הגישה לפריט ב-Drive.
- נמען: המשתמש שיקבל את ההרשאות הנוספות בקובץ אם הצעת הגישה תאושר. לרוב הנמען הוא זהה למבקש, אבל לא תמיד.
- גורם מאשר: המשתמש שאחראי לאישור (או לדחייה) של הצעת הגישה. בדרך כלל, הסיבה לכך היא שהם הבעלים של המסמך או שיש להם אפשרות לשתף אותו.
הצגת רשימה של הצעות גישה בהמתנה
כדי לקבל רשימה של כל בקשות הגישה בהמתנה לפריט ב-Drive, צריך להפעיל את ה-method list()
במשאב accessproposals
ולכלול את פרמטר הנתיב fileId
.
רק גורמים שאישרו את הקובץ יכולים לראות את ההצעות בהמתנה בקובץ. אישור הוא משתמש עם היכולת can_approve_access_proposals
בקובץ. אם מבצע הבקשה לא הוא המאשר, המערכת מחזירה רשימה ריקה. מידע נוסף על capabilities
זמין במאמר הסבר על יכולות הקבצים.
גוף התגובה מורכב מאובייקט AccessProposal
שמייצג רשימה של הצעות גישה ללא פתרון בקובץ.
האובייקט AccessProposal
כולל מידע על כל הצעה, כמו מבקש ההצעה, הנמען וההודעה שהמבקש הוסיף. הוא כולל גם אובייקט AccessProposalRoleAndView
שמקבץ את ה-role
שהמגיש הציע עם view
. מכיוון ש-role
הוא שדה חוזר, יכולים להיות כמה ערכים לכל הצעה. לדוגמה, הצעה יכולה לכלול אובייקט AccessProposalRoleAndView
של role=reader
ו-view=published
, וגם אובייקט AccessProposalRoleAndView
נוסף עם הערך role=writer
בלבד. מידע נוסף זמין במאמר צפיות.
כדי להתאים אישית את החלוקה לדפים של הצעות הגישה או לסנן אותן, מעבירים את פרמטרים השאילתה הבאים:
pageToken
: אסימון דף, שהתקבל מבקשת רשימה קודמת. צריך לספק את האסימון הזה כדי לאחזר את הדף הבא.pageSize
: מספר הצעות הגישה המקסימלי להצגה בכל דף.
טיפול בהצעות גישה בהמתנה
כדי לטפל בכל בקשות הגישה בהמתנה לפריט ב-Drive, צריך לבצע קריאה ל-method resolve()
במשאב accessproposals
ולכלול את הפרמטרים של הנתיב fileId
ו-proposalId
.
השיטה resolve()
כוללת פרמטר שאילתה action
שמציין את הפעולה שצריך לבצע לגבי ההצעה. האובייקט Action
עוקב אחרי שינוי המצב של ההצעה, כדי שנדע אם היא אושרה או נדחתה.
השיטה resolve()
כוללת גם את פרמטרי השאילתה האופציונליים role
ו-view
. התפקידים הנתמכים היחידים הם writer
, commenter
ו-reader
. אם לא מציינים את התפקיד, ברירת המחדל היא reader
. פרמטר נוסף של שאילתה send_notification
מאפשר לשלוח התראה באימייל למבקש כשהצעה תאושר או תידחה.
בדומה ל-method list()
, למשתמשים שמאשרים את ההצעה צריכה להיות היכולת can_approve_access_proposals
בקובץ. מידע נוסף על capabilities
זמין במאמר הסבר על יכולות הקבצים.
ההצעות נפתרות לפי אותם דפוסים שמפורטים בקטע תרחישי שיתוף של משאבים ב-Drive. אם יש כמה הצעות לאותו משתמש, אבל עם תפקידים שונים, הכלל הבא חל:
- אם הצעה אחת תאושר והצעה שנייה תידחה, התפקיד שאושר יחול על הפריט ב-Drive.
- אם שתי ההצעות יאושרו בו-זמנית, תיושם ההצעה עם ההרשאה הגבוהה יותר (לדוגמה,
role=writer
לעומתrole=reader
). הצעת הגישה השנייה תוסר מהפריט.
אחרי שליחת הצעה לשיטה resolve()
, פעולת השיתוף הושלמה. הערך של AccessProposal
לא מוחזר יותר דרך השיטה list()
. אחרי שההצעה תאושר, המשתמש יצטרך להשתמש באוסף permissions
כדי לעדכן את ההרשאות בקובץ או בתיקייה. מידע נוסף זמין במאמר עדכון ההרשאות.