לכל קובץ, תיקייה ואחסון שיתופי ב-Google Drive יש משאבים משויכים של permissions
. כל משאב מזהה את ההרשאה ל-type
(user
, group
, domain
, anyone
) ול-role
(owner
, organizer
, fileOrganizer
, writer
, commenter
, reader
) ספציפיים. לדוגמה, יכול להיות שבקובץ מסוים תהיה הרשאה שמעניקה למשתמש ספציפי (type=user
) גישה לקריאה בלבד (role=reader
), בעוד שהרשאה אחרת מעניקה לחברים בקבוצה ספציפית (type=group
) את היכולת להוסיף תגובות לקובץ (role=commenter
).
רשימה מלאה של התפקידים והפעולות שמותר לבצע בכל אחד מהם מופיעה במאמר תפקידים והרשאות.
תרחישים לשיתוף משאבים ב-Drive
יש חמישה סוגים שונים של תרחישים לשיתוף:
כדי לשתף קובץ בתיקיית 'האחסון שלי', למשתמש צריכה להיות ההרשאה
role=writer
אוrole=owner
.אם הערך הבוליאני
writersCanShare
מוגדר ל-false
בקובץ, המשתמש צריך להיות בעלrole=owner
.אם למשתמש עם
role=writer
יש גישה זמנית שמבוססת על תאריך תפוגה ושעה, הוא לא יוכל לשתף את הקובץ. למידע נוסף, ראו הגדרת תאריך תפוגה כדי להגביל את הגישה לקובץ.
כדי לשתף תיקייה ב'אחסון שלי', למשתמש צריכה להיות ההרשאה
role=writer
אוrole=owner
.אם הערך הבוליאני
writersCanShare
מוגדר ל-false
בקובץ, למשתמש צריכה להיות ההרשאהrole=owner
שמאפשרת יותר גישה.אסור להקצות גישה זמנית (שמוגדרת בתאריך ושעת תפוגה) לתיקיות ב'האחסון שלי' עם
role=writer
. למידע נוסף, ראו הגדרת תאריך תפוגה כדי להגביל את הגישה לקובץ.
כדי לשתף קובץ באחסון שיתופי, למשתמש צריכה להיות הרשאה
role=writer
,role=fileOrganizer
אוrole=organizer
.- ההגדרה
writersCanShare
לא חלה על פריטים בתיקיות אחסון שיתופי. המערכת מתייחסת אליו כאילו הוא תמיד מוגדר ל-true
.
- ההגדרה
כדי לשתף תיקייה באחסון שיתופי, למשתמש צריכה להיות הרשאה
role=organizer
.- אם ההגבלה
sharingFoldersRequiresOrganizerPermission
באחסון השיתופי מוגדרת כ-false
, משתמשים עם ההרשאהrole=fileOrganizer
יכולים לשתף תיקיות באחסון השיתופי הזה.
- אם ההגבלה
כדי לנהל את החברות באחסון השיתופי, למשתמש צריכה להיות הרשאה
role=organizer
. רק משתמשים וקבוצות יכולים להצטרף לתיקיות באחסון שיתופי.
הגדרת תאריך תפוגה כדי להגביל את הגישה לקובץ
אם אתם עובדים עם אנשים על פרויקט רגיש, יכול להיות שתרצו להגביל את הגישה שלהם לקבצים מסוימים ב-Drive אחרי פרק זמן מסוים. לקבצים בתיקייה 'האחסון שלי', אפשר להגדיר תאריך תפוגה כדי להגביל או להסיר את הגישה לקובץ.
כדי להגדיר את תאריך התפוגה:
משתמשים בשיטה
create()
במשאבpermissions
ומגדירים את השדהexpirationTime
(יחד עם שאר השדות הנדרשים). מידע נוסף זמין במאמר יצירת הרשאה.משתמשים בשיטה
update()
במשאבpermissions
ומגדירים את השדהexpirationTime
(יחד עם שאר השדות הנדרשים). מידע נוסף זמין במאמר שינוי ההרשאות.
השדה expirationTime
מציין מתי יפוג התוקף של ההרשאה באמצעות RFC 3339
תאריך-שעה. יש הגבלות על מועדי התפוגה:
- אפשר להגדיר אותם רק בהרשאות של משתמשים וקבוצות.
- השעה צריכה להיות בעתיד.
- המועד לא יכול להיות יותר משנה בעתיד.
מידע נוסף על תאריך התפוגה זמין במאמרים הבאים:
העברה של הרשאות
רשימות ההרשאות של תיקייה מועברות למטה, וכל הקבצים והתיקיות של הצאצאים יורשים את ההרשאות מההורה. בכל פעם שההרשאות או ההיררכיה משתנות, ההעברה מתבצעת באופן רפלוקטיבי דרך כל התיקיות המוטמעות. לדוגמה, אם קובץ קיים בתיקייה והתיקייה הזו מועברת לתיקייה אחרת, ההרשאות בתיקייה החדשה מועברות לקובץ. אם התיקייה החדשה מקצה למשתמש בקובץ תפקיד חדש, כמו 'עריכה', התפקיד החדש יחליף את התפקיד הישן.
לעומת זאת, אם קובץ יורש את התפקיד role=writer
מתיקייה, והוא מועבר לתיקייה אחרת שמספקת את התפקיד 'קורא', הקובץ יורש עכשיו את התפקיד role=reader
.
אי אפשר להסיר הרשאות שעברו בירושה מקובץ או מתיקייה באחסון שיתופי. במקום זאת, צריך לשנות את ההרשאות האלה ברמת ההורה הישיר או העקיף שממנו הן עוברות בירושה. אפשר להסיר הרשאות שעברו בירושה מפריטים בתיקייה 'האחסון שלי' או בתיקייה 'קבצים ששותפו איתי'.
לעומת זאת, אפשר לשנות את ההרשאות שעברו בירושה בקובץ או בתיקייה בתיקיית 'האחסון שלי'. לכן, אם קובץ יורש את ההרשאה role=writer
מתיקייה 'הקבצים שלי', אפשר להגדיר את ההרשאה role=reader
בקובץ כדי להוריד את רמת ההרשאה שלו.
יכולות
המשאב permissions
לא קובע בסופו של דבר את היכולת של המשתמש הנוכחי לבצע פעולות בקובץ או בתיקייה. במקום זאת, המשאב files
מכיל אוסף של שדות capabilities
בוליאניים שמשמשים לציון אם אפשר לבצע פעולה בקובץ או בתיקייה. Google Drive API מגדיר את השדות האלה על סמך משאב ההרשאות של המשתמש הנוכחי שמשויך לקובץ או לתיקייה.
לדוגמה, כשאלכס נכנס לאפליקציה ומנסה לשתף קובץ, המערכת בודקת את ההרשאות של אלכס בקובץ. אם התפקיד מאפשר להם לשתף קובץ, השדות capabilities
שקשורים לקובץ, כמו canShare
, יאוכלסו בהתאם לתפקיד. אם אלכס רוצה לשתף את הקובץ, האפליקציה בודקת את capabilities
כדי לוודא ש-canShare
מוגדר ל-true
.
דוגמה לאחזור הקובץ capabilities
מופיעה במאמר אימות ההרשאות של משתמשים.
יצירת הרשאה
צריך למלא את שני השדות הבאים כשיוצרים הרשאה:
type
: השדהtype
מזהה את היקף ההרשאה (user
, group
, domain
אוanyone
). הרשאה עםtype=user
חלה על משתמש ספציפי, ואילו הרשאה עםtype=domain
חלה על כל המשתמשים בדומיין ספציפי.role
: השדהrole
מזהה את הפעולות שאפשר לבצע באמצעותtype
. לדוגמה, הרשאה עםtype=user
ו-role=reader
מעניקה למשתמש ספציפי הרשאת קריאה בלבד לקובץ או לתיקייה. לחלופין, הרשאה עםtype=domain
ו-role=commenter
מאפשרת לכל המשתמשים בדומיין להוסיף תגובות לקובץ. רשימה מלאה של התפקידים והפעולות שמותר לבצע בכל אחד מהם מופיעה במאמר תפקידים והרשאות.
כשיוצרים הרשאה עם type=user
או type=group
, צריך גם לציין emailAddress
כדי לקשר את המשתמש או הקבוצה הספציפיים להרשאה.
כשיוצרים הרשאה שבה type=domain
, צריך גם לספק domain
כדי לשייך דומיין ספציפי להרשאה.
כדי ליצור הרשאה:
- משתמשים בשיטה
create()
עם פרמטר הנתיבfileId
של הקובץ או התיקייה המשויכים. - בגוף הבקשה, מציינים את
type
ו-role
. - אם הערך הוא
type=user
אוtype=group
, צריך לספק ערך שלemailAddress
. אם הערך שלו הואtype=domain
, צריך לספקdomain
.
הצג דוגמה
דוגמת הקוד הבאה מראה איך יוצרים הרשאה. התשובה מחזירה מופע של משאב Permission
, כולל permissionId
שהוקצה.
בקשה
POST https://www.googleapis.com/drive/v3/files/FILE_ID
/permissions
{ "requests": [ { "type": "user", "role": "commenter", "emailAddress": "alex@altostrat.com" } ] }
תגובה
{
"kind": "drive#permission",
"id": "PERMISSION_ID
",
"type": "user",
"role": "commenter"
}
שימוש בקהלים שמוגדרים כקהלים יעד
משתמשי יעד הם קבוצות של אנשים – כמו מחלקות או צוותים – שאפשר להמליץ למשתמשים לשתף איתם את הפריטים שלהם. אתם יכולים לעודד משתמשים לשתף פריטים עם קהל ספציפי או מוגבל יותר, במקום עם הארגון כולו. קהלים שמוגדרים לטירגוט יכולים לעזור לכם לשפר את האבטחה והפרטיות של הנתונים, ולאפשר למשתמשים לשתף אותם בצורה הולמת יותר. למידע נוסף, ראו מידע על קהלים ייעודיים.
כדי להשתמש בקהלים שמוגדרים כקהלים יעד:
במסוף Google Admin, נכנסים לתפריט > ספרייה > קהלים יעד.
כדי לבצע את המשימה הזו, עליכם להיות מחוברים באמצעות חשבון שיש לו הרשאות סופר-אדמין.
ברשימת קהלים היעד, לוחצים על שם קהל היעד. במאמר יצירת קהל יעד מוסבר איך יוצרים קהל יעד.
מעתיקים את המזהה הייחודי מכתובת ה-URL של קהל היעד:
https://admin.google.com/ac/targetaudiences/ID
.יוצרים הרשאה באמצעות
type=domain
ומגדירים את השדהdomain
לערךID.audience.googledomains.com
.
במאמר חוויית המשתמש לשיתוף קישורים מוסבר איך המשתמשים מקיימים אינטראקציה עם קהלים שמוגדרים כקהלים היעד.
אחזור כל ההרשאות של קובץ, תיקייה או אחסון שיתופי
כדי לאחזר את כל ההרשאות של קובץ, תיקייה או אחסון שיתופי, משתמשים בשיטה list()
במשאב permissions
.
הצג דוגמה
דוגמת הקוד הבאה מראה איך לקבל את כל ההרשאות. התשובה מחזירה רשימת הרשאות.
בקשה
GET https://www.googleapis.com/drive/v3/files/FILE_ID
/permissions
תגובה
{
"kind": "drive#permissionList",
"permissions": [
{
"id": "PERMISSION_ID
",
"type": "user",
"kind": "drive#permission",
"role": "commenter"
}
]
}
אימות הרשאות המשתמשים
כשהאפליקציה פותחת קובץ, היא צריכה לבדוק את היכולות של הקובץ ולייצר את ממשק המשתמש כך שישקף את ההרשאות של המשתמש הנוכחי. לדוגמה, אם למשתמש אין את היכולת canComment
בקובץ, היכולת להגיב צריכה להיות מושבתת בממשק המשתמש.
מידע נוסף על capabilities
זמין בקטע יכולות.
כדי לבדוק את היכולות, צריך להפעיל את השיטה get()
במשאב files
עם פרמטר הנתיב fileId
והפרמטר fields
שמוגדר לשדה capabilities
. למידע נוסף על החזרת שדות באמצעות הפרמטר fields
, ראו החזרת שדות ספציפיים של קובץ.
הצג דוגמה
בדוגמת הקוד הבאה מוסבר איך לאמת את הרשאות המשתמשים. התגובה מחזירה רשימה של היכולות שיש למשתמש בקובץ. כל יכולת תואמת לפעולה מפורטת שמשתמש יכול לבצע. חלק מהשדות מאוכלסים רק בפריטים שנמצאים בתיקיות אחסון שיתופי.
בקשה
GET https://www.googleapis.com/drive/v3/files/FILE_ID
?fields=capabilities
תגובה
{ "capabilities": { "canAcceptOwnership": false, "canAddChildren": false, "canAddMyDriveParent": false, "canChangeCopyRequiresWriterPermission": true, "canChangeSecurityUpdateEnabled": false, "canComment": true, "canCopy": true, "canDelete": true, "canDownload": true, "canEdit": true, "canListChildren": false, "canModifyContent": true, "canModifyContentRestriction": true, "canModifyLabels": true, "canMoveChildrenWithinDrive": false, "canMoveItemOutOfDrive": true, "canMoveItemWithinDrive": true, "canReadLabels": true, "canReadRevisions": true, "canRemoveChildren": false, "canRemoveMyDriveParent": true, "canRename": true, "canShare": true, "canTrash": true, "canUntrash": true } }
איך בודקים מהו מקור התפקיד של קבצים ותיקיות באחסון שיתופי
כדי לשנות את התפקיד בקובץ או בתיקייה, צריך לדעת מה המקור של התפקיד. באחסון שיתופי, המקור של התפקיד יכול להיות מבוסס על החברות באחסון השיתופי, התפקיד בתיקייה או התפקיד בקובץ.
כדי לקבוע את מקור התפקיד של אחסון שיתופי, או של פריטים באחסון הזה, צריך להפעיל את השיטה get()
במשאב permissions
עם הפרמטרים של הנתיב fileId
ו-permissionId
, והפרמטר fields
מוגדר לשדה permissionDetails
.
כדי למצוא את permissionId
, משתמשים ב-method list()
במשאב permissions
עם פרמטר הנתיב fileId
. כדי לאחזר את השדה permissionDetails
בבקשה list
, מגדירים את הפרמטר fields
לערך permissions/permissionDetails
.
בשדה הזה מפורטות כל הרשאות הקבצים שעברו בירושה והרשאות הקבצים הישירות של המשתמש, הקבוצה או הדומיין.
הצג דוגמה
דוגמת הקוד הבאה מראה איך לקבוע את מקור התפקיד. התשובה מחזירה את permissionDetails
של משאב permissions
. השדה inheritedFrom
מספק את המזהה של הפריט שממנו עוברת בירושה ההרשאה.
בקשה
GET https://www.googleapis.com/drive/v3/files/FILE_ID
/permissions/PERMISSION_ID
?fields=permissionDetails&supportsAllDrives=true
תגובה
{
"permissionDetails": [
{
"permissionType": "member",
"role": "commenter",
"inheritedFrom": "INHERITED_FROM_ID
",
"inherited": true
},
{
"permissionType": "file",
"role": "writer",
"inherited": false
}
]
}
שינוי ההרשאות
כדי לשנות את ההרשאות בקובץ או בתיקייה, אפשר לשנות את התפקיד שהוקצה:
קוראים לשיטה
update()
במשאבpermissions
, כאשר פרמטר הנתיבpermissionId
מוגדר להרשאה לשינוי ופרמטר הנתיבfileId
מוגדר לקובץ, לתיקייה או לאחסון השיתופי המשויכים. כדי למצוא אתpermissionId
, משתמשים ב-method list()
במשאבpermissions
עם פרמטר הנתיבfileId
.בבקשה, מציינים את
role
החדש.
אתם יכולים להקצות הרשאות לקבצים או לתיקיות ספציפיים באחסון השיתופי, גם אם המשתמש או הקבוצה כבר חברים בו. לדוגמה, לאלכס יש את role=commenter
כחלק מהמינוי שלו לאחסון שיתופי. עם זאת, האפליקציה יכולה להקצות לאלכס את ההרשאה role=writer
עבור קובץ באחסון שיתופי. במקרה כזה, מכיוון שהתפקיד החדש הוא פחות מגביל מהתפקיד שהוקצה דרך החברות בקבוצה, ההרשאה החדשה הופכת לתפקיד בפועל של הקובץ או התיקייה.
הצג דוגמה
בדוגמת הקוד הבאה מוסבר איך לשנות את ההרשאות בקובץ או בתיקייה מ'הוספת תגובה' ל'כתיבה'. בתגובה מוחזרת מופע של משאב permissions
.
בקשה
PATCH https://www.googleapis.com/drive/v3/files/FILE_ID
/permissions/PERMISSION_ID
{ "requests": [ { "role": "writer" } ] }
תגובה
{
"kind": "drive#permission",
"id": "PERMISSION_ID
",
"type": "user",
"role": "writer"
}
הצגת רשימה של הצעות גישה בהמתנה וטיפול בהן
הצעת גישה היא הצעה של מבקש לאישור כדי להעניק לנמען גישה לפריט ב-Drive.
אישור יכול לבדוק את כל הצעות הגישה שלא טופלו בקבצים ב-Drive ולבצע פעולות בהתאם. כלומר, אפשר לזרז את תהליך האישור על ידי שליחת שאילתות פרוגרמטיות לגבי הצעות גישה, ולאחר מכן פתרון שלהן. בנוסף, המאשרים יכולים לראות את ההצעות באופן מצטבר.
באמצעות 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
כדי לעדכן את ההרשאות בקובץ או בתיקייה. מידע נוסף זמין בקטע שינוי ההרשאות.
ביטול הגישה לקובץ או לתיקייה
כדי לבטל את הגישה לקובץ או לתיקייה, צריך לקרוא ל-method delete()
במשאב permissions
עם הפרמטרים fileId
ו-permissionId
של הנתיב שהוגדרו כדי למחוק את ההרשאה.
בפריטים בתיקייה 'האחסון שלי', אפשר למחוק הרשאה שעברה בירושה. מחיקת הרשאה שעברה בירושה מבטלת את הגישה לפריט ולפריטי הצאצאים, אם יש כאלה.
לא ניתן לבטל הרשאות שעברו בירושה לגבי פריטים באחסון שיתופי. במקום זאת, מעדכנים או מבטלים את ההרשאה בקובץ או בתיקייה ברמה העליונה.
אפשר להשתמש בשיטה delete()
גם כדי למחוק הרשאות שחלות ישירות על קובץ או תיקייה באחסון השיתופי.
הצג דוגמה
דוגמת הקוד הבאה מראה איך לבטל גישה על ידי מחיקת permissionId
. אם הפעולה בוצעה ללא שגיאות, גוף התגובה יהיה ריק. כדי לוודא שההרשאה הוסרה, משתמשים בשיטה list()
במשאב permissions
עם פרמטר הנתיב fileId
.
בקשה
DELETE https://www.googleapis.com/drive/v3/files/FILE_ID
/permissions/PERMISSION_ID
העברת הבעלות על קבצים לחשבון Google Workspace אחר באותו ארגון
אפשר להעביר את הבעלות על קבצים שנמצאים ב'האחסון שלי' מחשבון Google Workspace אחד לחשבון אחר באותו ארגון. הארגון שבבעלותו האחסון השיתופי הוא הבעלים של הקבצים שנמצאים בו. לכן, אי אפשר להעביר בעלות על קבצים ותיקיות באחסון שיתופי. המארגנים של האחסון השיתופי יכולים להעביר פריטים מהאחסון השיתופי אל 'האחסון שלי' שלהם, וכך להעביר את הבעלות עליהם.
כדי להעביר בעלות על קובץ ב'אחסון שלי', מבצעים אחת מהפעולות הבאות:
יוצרים הרשאת קובץ שמעניקה למשתמש ספציפי (
type=user
) הרשאת בעלים (role=owner
).עדכון ההרשאה של קובץ קיים באמצעות
role=owner
והעברת הבעלות למשתמש שצוין (transferOwnership=true
).
העברת בעלות על קובץ מחשבון צרכן אחד לחשבון אחר
אפשר להעביר את הבעלות על קבצים מחשבון צרכן אחד לחשבון אחר. עם זאת, ב-Drive לא מתבצעת העברת בעלות על קובץ בין שני חשבונות של צרכנים עד שהבעלים העתידי נותן הסכמה מפורשת להעברה. כדי להעביר בעלות על קובץ מחשבון צרכן אחד לחשבון אחר:
הבעלים הנוכחי מתחיל את העברת הבעלות על ידי יצירה או עדכון של הרשאת הקובץ של הבעלים העתידי. ההרשאה חייבת לכלול את ההגדרות הבאות:
role=writer
,type=user
ו-pendingOwner=true
. אם הבעלים הנוכחי יוצר הרשאה לבעלים העתידי, תישלח לבעלים העתידי התראה באימייל על כך שהוא מתבקש לקבל בעלות על הקובץ.הבעלים העתידי מאשר את בקשת העברת הבעלות על ידי יצירת הרשאת הקובץ או עדכון שלה. ההרשאה חייבת לכלול את ההגדרות הבאות:
role=owner
ו-transferOwnership=true
. אם הבעלים העתידי יוצר הרשאה חדשה, נשלחת התראה באימייל לבעלים הקודם על כך שהבעלות הועברה.
כשמעבירים קובץ, התפקיד של הבעלים הקודם יורד ל-writer
.
שינוי כמה הרשאות באמצעות בקשות באצווה
מומלץ מאוד להשתמש בבקשות באצווה כדי לשנות כמה הרשאות.
בדוגמה הבאה מוצגת שינוי של הרשאות באצווה באמצעות ספריית לקוח.