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