ניהול של הצעות גישה בהמתנה

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