ไฟล์ โฟลเดอร์ และไดรฟ์ที่แชร์ทุกรายการใน Google ไดรฟ์จะมีทรัพยากรที่เชื่อมโยงอยู่
permissions ทรัพยากรแต่ละรายการ
จะระบุสิทธิ์สำหรับ
typeที่เฉพาะเจาะจง (user,
group, domain, anyone) และ
role (owner,
organizer, fileOrganizer, writer, commenter, reader) เช่น ไฟล์อาจมีสิทธิ์ที่ให้ผู้ใช้ที่เฉพาะเจาะจง (type=user) เข้าถึงแบบอ่านอย่างเดียว (role=reader) ในขณะที่สิทธิ์อีกรายการให้สิทธิ์สมาชิกของกลุ่มที่เฉพาะเจาะจง (type=group) ในการเพิ่มความคิดเห็นลงในไฟล์ (role=commenter)
ดูรายการบทบาททั้งหมดและการดำเนินการที่แต่ละบทบาทได้รับอนุญาตได้ที่บทบาท และสิทธิ์
วิธีการทำงานของสิทธิ์
รายการสิทธิ์ของโฟลเดอร์จะส่งต่อลงไป ไฟล์และโฟลเดอร์ย่อยทั้งหมดจะรับช่วงสิทธิ์จากโฟลเดอร์หลัก เมื่อใดก็ตามที่สิทธิ์หรือลำดับชั้นมีการเปลี่ยนแปลง การส่งต่อจะเกิดขึ้นแบบเรียกซ้ำผ่านโฟลเดอร์ที่ซ้อนกันทั้งหมด ตัวอย่างเช่น หากไฟล์อยู่ในโฟลเดอร์และมีการย้ายโฟลเดอร์นั้นไปไว้ในโฟลเดอร์อื่น สิทธิ์ในโฟลเดอร์ใหม่จะส่งต่อมายังไฟล์ หากโฟลเดอร์ใหม่ให้บทบาทใหม่แก่ผู้ใช้ไฟล์ เช่น "ผู้เขียน" บทบาทดังกล่าวจะลบล้างบทบาทเก่าของผู้ใช้
ในทางกลับกัน หากไฟล์รับช่วง role=writer จากโฟลเดอร์และมีการย้ายไปยังโฟลเดอร์อื่นที่ให้บทบาท "ผู้อ่าน" ตอนนี้ไฟล์จะรับช่วง role=reader
คุณจะนำสิทธิ์ที่รับช่วงมาออกหรือลดสิทธิ์ในรายการใดก็ได้ แต่ต้องปรับสิทธิ์เหล่านี้ในโฟลเดอร์หลักที่เป็นแหล่งที่มา หรือโฟลเดอร์ในลำดับชั้นต้องเปิดใช้การตั้งค่าการเข้าถึงแบบจำกัด
คุณสามารถเพิ่มสิทธิ์ที่รับช่วงมาในรายการได้ หากมีการเพิ่มสิทธิ์ในรายการย่อย การเปลี่ยนสิทธิ์ของรายการหลักจะไม่ส่งผลต่อสิทธิ์ของรายการย่อย เว้นแต่สิทธิ์ใหม่ของรายการหลักจะมากกว่าสิทธิ์ของรายการย่อย
ระบบไม่รองรับการดำเนินการเกี่ยวกับสิทธิ์พร้อมกันในไฟล์เดียวกัน ระบบจะใช้การอัปเดตล่าสุดเท่านั้น
ทำความเข้าใจความสามารถของไฟล์
ทรัพยากร permissions ไม่ได้เป็นตัวกำหนดความสามารถของผู้ใช้ปัจจุบันในการดำเนินการกับไฟล์หรือโฟลเดอร์
แต่ทรัพยากร files จะมีคอลเล็กชัน
ของช่องบูลีน capabilities
ที่ใช้เพื่อระบุว่าสามารถดำเนินการกับไฟล์หรือโฟลเดอร์ได้หรือไม่
Google Drive API จะตั้งค่าช่องเหล่านี้ตามทรัพยากร permissions ของผู้ใช้ปัจจุบันที่เชื่อมโยงกับไฟล์หรือโฟลเดอร์
ตัวอย่างเช่น เมื่อ Alex เข้าสู่ระบบแอปของคุณและพยายามแชร์ไฟล์ ระบบจะตรวจสอบบทบาทของ Alex เพื่อดูสิทธิ์ในไฟล์ หากบทบาทอนุญาตให้แชร์ไฟล์ได้ ระบบจะตั้งค่า capabilities ที่เกี่ยวข้องกับไฟล์ เช่น canShare ตามบทบาท หาก Alex ต้องการแชร์ไฟล์ แอปของคุณจะตรวจสอบ capabilities เพื่อให้แน่ใจว่า canShare ตั้งค่าเป็น true
รับความสามารถของไฟล์
เมื่อแอปเปิดไฟล์ แอปควรตรวจสอบความสามารถของไฟล์และแสดงผล UI เพื่อแสดงสิทธิ์ของผู้ใช้ปัจจุบัน ตัวอย่างเช่น หากผู้ใช้ไม่มีความสามารถ canComment ในไฟล์ ความสามารถในการแสดงความคิดเห็นควรปิดใช้ใน UI
หากต้องการตรวจสอบความสามารถ ให้เรียกใช้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, "canChangeItemDownloadRestriction": true, "canChangeSecurityUpdateEnabled": false, "canChangeViewersCanCopyContent": true, "canComment": true, "canCopy": true, "canDelete": true, "canDisableInheritedPermissions": false, "canDownload": true, "canEdit": true, "canEnableInheritedPermissions": true, "canListChildren": false, "canModifyContent": true, "canModifyContentRestriction": true, "canModifyEditorContentRestriction": true, "canModifyOwnerContentRestriction": true, "canModifyLabels": true, "canMoveChildrenWithinDrive": false, "canMoveItemIntoTeamDrive": true, "canMoveItemOutOfDrive": true, "canMoveItemWithinDrive": true, "canReadLabels": true, "canReadRevisions": true, "canRemoveChildren": false, "canRemoveContentRestriction": false, "canRemoveMyDriveParent": true, "canRename": true, "canShare": true, "canTrash": true, "canUntrash": true } }
สถานการณ์การแชร์ทรัพยากรในไดรฟ์
สถานการณ์การแชร์มี 5 ประเภทที่แตกต่างกัน ดังนี้
หากต้องการแชร์ไฟล์ในไดรฟ์ของฉัน ผู้ใช้ต้องมี
role=writerหรือrole=ownerหากค่าบูลีน
writersCanShareตั้งค่าเป็นfalseสำหรับไฟล์ ผู้ใช้ต้องมีrole=ownerหากผู้ใช้ที่มี
role=writerมีสิทธิ์เข้าถึงชั่วคราวซึ่งอยู่ในบังคับของวันที่และเวลาหมดอายุ ผู้ใช้จะแชร์ไฟล์ไม่ได้ ดูข้อมูลเพิ่มเติมได้ที่กำหนดวันที่หมดอายุเพื่อจำกัดสิทธิ์เข้าถึงรายการ
หากต้องการแชร์โฟลเดอร์ในไดรฟ์ของฉัน ผู้ใช้ต้องมี
role=writerหรือrole=ownerหากค่าบูลีน
writersCanShareตั้งค่าเป็นfalseสำหรับไฟล์ ผู้ใช้ต้องมีrole=ownerที่มีสิทธิ์มากกว่าระบบอนุญาตให้เข้าถึงชั่วคราว (ควบคุมโดยวันที่และเวลาหมดอายุ) ในโฟลเดอร์ที่มี
role=readerเท่านั้น ดูข้อมูลเพิ่มเติมได้ที่ ดู กำหนดวันที่หมดอายุเพื่อจำกัดสิทธิ์เข้าถึงรายการ
หากต้องการแชร์ไฟล์ในไดรฟ์ที่แชร์ ผู้ใช้ต้องมี
role=writer,role=fileOrganizerหรือrole=organizer- การตั้งค่า
writersCanShareจะไม่มีผลกับรายการในไดรฟ์ที่แชร์ ระบบจะถือว่าการตั้งค่านี้ตั้งค่าเป็นtrueเสมอ
- การตั้งค่า
หากต้องการแชร์โฟลเดอร์ในไดรฟ์ที่แชร์ ผู้ใช้ต้องมี
role=organizer- หากข้อจำกัด
sharingFoldersRequiresOrganizerPermissionในไดรฟ์ที่แชร์ตั้งค่าเป็นfalseผู้ใช้ที่มีrole=fileOrganizerจะแชร์โฟลเดอร์ในไดรฟ์ที่แชร์นั้นได้
- หากข้อจำกัด
หากต้องการจัดการการเป็นสมาชิกในไดรฟ์ที่แชร์ ผู้ใช้ต้องมี
role=organizerเฉพาะผู้ใช้และกลุ่มเท่านั้นที่เป็นสมาชิกของไดรฟ์ที่แชร์ได้
ใช้พารามิเตอร์ fields
หากต้องการระบุช่องที่จะแสดงผลในการตอบกลับ คุณสามารถตั้งค่า
fields พารามิเตอร์
ระบบ
ด้วยเมธอดใดก็ได้ของทรัพยากร permissions หากไม่ใส่พารามิเตอร์ fields เซิร์ฟเวอร์จะแสดงผลชุดช่องเริ่มต้นที่เฉพาะเจาะจงสำหรับเมธอดนั้น
ตัวอย่างเช่น เมธอด list จะแสดงผล
เฉพาะช่อง id, type, kind, และ role สำหรับแต่ละไฟล์ หากต้องการแสดงผล
ช่องอื่น ให้ดูที่แสดงผลช่องที่เฉพาะเจาะจง
สร้างสิทธิ์
คุณต้องระบุ 2 ช่องต่อไปนี้เมื่อสร้างสิทธิ์
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ในทรัพยากรpermissionsโดยใช้พารามิเตอร์เส้นทางfileIdสำหรับไฟล์หรือโฟลเดอร์ที่เชื่อมโยง - ระบุ
typeและroleในเนื้อหาคำขอ - หาก
type=userหรือtype=groupให้ระบุemailAddressหากtype=domain, ให้ระบุdomain.
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างสิทธิ์ การตอบกลับจะแสดงผลอินสแตนซ์ของทรัพยากร permissions รวมถึง 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 ให้ไปที่เมนู > ไดเรกทอรี > กลุ่มเป้าหมาย
คุณต้องลงชื่อเข้าใช้ด้วยบัญชีที่มีสิทธิ์ของผู้ดูแลระบบขั้นสูงsuper administratorจึงจะทำภารกิจนี้ได้
ในรายการกลุ่มเป้าหมาย ให้คลิกชื่อกลุ่มเป้าหมาย หากต้องการ สร้างกลุ่มเป้าหมาย โปรดดูสร้างกลุ่ม เป้าหมาย
คัดลอกรหัสที่ไม่ซ้ำจาก URL ของกลุ่มเป้าหมาย:
https://admin.google.com/ac/targetaudiences/IDสร้างสิทธิ์ที่มี
type=domainและตั้งค่าช่องdomainเป็นID.audience.googledomains.com
หากต้องการดูวิธีที่ผู้ใช้โต้ตอบกับกลุ่มเป้าหมาย โปรดดู ประสบการณ์ของผู้ใช้ในการแชร์ลิงก์ ลิงก์
รับสิทธิ์
หากต้องการรับสิทธิ์ ให้ใช้เมธอด get
ในทรัพยากร permissions โดยใช้พารามิเตอร์เส้นทาง
fileId และ permissionId หากไม่ทราบรหัสสิทธิ์
คุณสามารถแสดงรายการสิทธิ์ทั้งหมดโดยใช้เมธอด list
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีรับสิทธิ์ตามรหัส การตอบกลับจะแสดงผลอินสแตนซ์ของทรัพยากร permissions
คำขอ
GET https://www.googleapis.com/drive/v3/files/FILE_ID/permissionsPERMISSION_ID
การตอบกลับ
{
"kind": "drive#permissionList",
"permissions": [
{
"kind": "drive#permission",
"id": "PERMISSION_ID",
"type": "user",
"role": "commenter"
}
]
}แสดงรายการสิทธิ์ทั้งหมด
หากต้องการแสดงรายการสิทธิ์สำหรับไฟล์ โฟลเดอร์ หรือไดรฟ์ที่แชร์ ให้ใช้เมธอด list ในทรัพยากร permissions โดยใช้พารามิเตอร์เส้นทาง fileId
ส่งพารามิเตอร์การค้นหาต่อไปนี้เพื่อปรับแต่งการแบ่งหน้าหรือกรองสิทธิ์
pageSize: จำนวนสิทธิ์สูงสุดที่จะแสดงผลต่อหน้า หากไม่ได้ตั้งค่าสำหรับไฟล์ในไดรฟ์ที่แชร์ ระบบจะแสดงผลลัพธ์ไม่เกิน 100 รายการ หากไม่ได้ตั้งค่าสำหรับไฟล์ที่ไม่ได้อยู่ในไดรฟ์ที่แชร์ ระบบจะแสดงผลรายการทั้งหมดpageToken: โทเค็นหน้าเว็บที่ได้รับจากการเรียกใช้รายการก่อนหน้า ระบุโทเค็นนี้เพื่อดึงข้อมูลหน้าถัดไปsupportsAllDrives: ระบุว่าแอปที่ส่งคำขอรองรับทั้งไดรฟ์ของฉันและไดรฟ์ที่แชร์หรือไม่useDomainAdminAccess: ตั้งค่าเป็นtrueเพื่อส่งคำขอในฐานะผู้ดูแลระบบโดเมน หากพารามิเตอร์fileIdอ้างอิงถึงไดรฟ์ที่แชร์และผู้ส่งคำขอเป็นผู้ดูแลระบบของโดเมนที่ไดรฟ์ที่แชร์เป็นของ ดูข้อมูลเพิ่มเติมได้ที่ จัดการไดรฟ์ที่แชร์ในฐานะผู้ดูแลระบบโดเมนincludePermissionsForView: สิทธิ์เพิ่มเติมของมุมมองที่จะรวมไว้ในการตอบกลับ ระบบรองรับเฉพาะpublished
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีรับสิทธิ์ทั้งหมด การตอบกลับจะแสดงผลรายการสิทธิ์สำหรับไฟล์ โฟลเดอร์ หรือไดรฟ์ที่แชร์
คำขอ
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"
}
]
}อัปเดตสิทธิ์
หากต้องการอัปเดตสิทธิ์ในไฟล์หรือโฟลเดอร์ คุณสามารถเปลี่ยนบทบาทที่กำหนดได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการค้นหาแหล่งที่มาของบทบาทได้ที่ระบุแหล่งที่มาของบทบาท แหล่งที่มา
เรียกใช้เมธอด
updateในทรัพยากรpermissionsโดยตั้งค่าพารามิเตอร์เส้นทางfileIdเป็นไฟล์ โฟลเดอร์ หรือไดรฟ์ที่แชร์ที่เชื่อมโยง และตั้งค่าพารามิเตอร์เส้นทางpermissionIdเป็นสิทธิ์ที่จะเปลี่ยน หากต้องการค้นหาpermissionIdให้ใช้เมธอดlistในทรัพยากรpermissionsโดยใช้พารามิเตอร์เส้นทางfileIdระบุ
roleใหม่ในคำขอ
คุณสามารถให้สิทธิ์ในไฟล์หรือโฟลเดอร์แต่ละรายการในไดรฟ์ที่แชร์ได้ แม้ว่าผู้ใช้หรือกลุ่มจะเป็นสมาชิกอยู่แล้วก็ตาม ตัวอย่างเช่น Alex มี role=commenter ซึ่งเป็นส่วนหนึ่งของการเป็นสมาชิกในไดรฟ์ที่แชร์ อย่างไรก็ตาม แอปของคุณสามารถให้ role=writer แก่ Alex สำหรับไฟล์ในไดรฟ์ที่แชร์ได้ ในกรณีนี้ เนื่องจากบทบาทใหม่มีสิทธิ์มากกว่าบทบาทที่ได้รับผ่านการเป็นสมาชิก สิทธิ์ใหม่จึงกลายเป็น บทบาทที่มีผล สำหรับไฟล์หรือโฟลเดอร์
คุณสามารถใช้การอัปเดตผ่านความหมายของแพตช์ ซึ่งหมายความว่าคุณสามารถทำการแก้ไขทรัพยากรบางส่วนได้ คุณต้องตั้งค่าช่องที่ต้องการแก้ไขในคำขออย่างชัดเจน ช่องที่ไม่ได้รวมอยู่ในคำขอจะยังคงมีค่าเดิม ดูข้อมูลเพิ่มเติมได้ที่การทำงานกับทรัศยากรบางส่วน
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเปลี่ยนสิทธิ์ในไฟล์หรือโฟลเดอร์จาก commenter เป็น writer การตอบกลับจะแสดงผลอินสแตนซ์ของทรัพยากร permissions
คำขอ
PATCH https://www.googleapis.com/drive/v3/files/FILE_ID/permissions/PERMISSION_ID
{
"role": "writer"
}การตอบกลับ
{
"kind": "drive#permission",
"id": "PERMISSION_ID",
"type": "user",
"role": "writer"
}ระบุแหล่งที่มาของบทบาท
หากต้องการเปลี่ยนบทบาทในไฟล์หรือโฟลเดอร์ คุณต้องทราบแหล่งที่มาของบทบาท สำหรับไดรฟ์ที่แชร์ แหล่งที่มาของบทบาทอาจอิงตามการเป็นสมาชิกในไดรฟ์ที่แชร์ บทบาทในโฟลเดอร์ หรือบทบาทในไฟล์
หากต้องการระบุแหล่งที่มาของบทบาทสำหรับไดรฟ์ที่แชร์หรือรายการในไดรฟ์นั้น
ให้เรียกใช้เมธอด get ในทรัพยากร
permissions โดยใช้พารามิเตอร์เส้นทาง fileId และ
permissionId และตั้งค่าพารามิเตอร์ fields เป็นช่อง
permissionDetails
หากต้องการค้นหา permissionId ให้ใช้เมธอด
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
}
]
}อัปเดตสิทธิ์หลายรายการด้วยคำขอแบบกลุ่ม
เราขอแนะนำอย่างยิ่งให้ใช้ คำขอแบบกลุ่ม เพื่อแก้ไขสิทธิ์หลายรายการ
ตัวอย่างต่อไปนี้แสดงการแก้ไขสิทธิ์แบบกลุ่มด้วยไลบรารีของไคลเอ็นต์
Java
Python
Node.js
PHP
.NET
ลบสิทธิ์
หากต้องการเพิกถอนสิทธิ์เข้าถึงไฟล์หรือโฟลเดอร์ ให้เรียกใช้เมธอด
delete ในทรัพยากร
permissions โดยตั้งค่าพารามิเตอร์เส้นทาง fileId และ
permissionId เพื่อลบสิทธิ์
คุณจะเพิกถอนสิทธิ์ที่รับช่วงมาไม่ได้ ให้แก้ไขหรือลบสิทธิ์ในโฟลเดอร์หลักแทน การลบสิทธิ์ในโฟลเดอร์จะเป็นการเพิกถอนสิทธิ์เข้าถึงที่เทียบเท่าในรายการย่อยด้วย
การลดสิทธิ์เมื่อเทียบกับสิทธิ์ของโฟลเดอร์หลักต้องใช้การตั้งค่าการเข้าถึงแบบจำกัด
โปรดทราบว่าการนำสิทธิ์เข้าถึงของผู้ใช้ออกจากรายการหลักจะเป็นการเพิกถอนเฉพาะสิทธิ์ที่รับช่วงมาจากรายการหลักเท่านั้น หากผู้ใช้ได้รับสิทธิ์ในไฟล์หรือโฟลเดอร์ย่อยโดยตรง สิทธิ์เข้าถึงของผู้ใช้จะยังคงอยู่ หากต้องการให้รายการย่อยทั้งหมดมีสิทธิ์เหมือนกับรายการหลัก คุณต้องระบุและนำสิทธิ์โดยตรงที่มอบให้กับผู้ใช้ในรายการย่อยเหล่านั้นออก
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิกถอนสิทธิ์เข้าถึงโดยการลบ permissionId หากทำสำเร็จ เนื้อหาคำตอบจะเป็นออบเจ็กต์ JSON ว่าง หากต้องการยืนยันว่าได้นำสิทธิ์ออกแล้ว ให้ใช้เมธอด list ในทรัพยากร permissions โดยใช้พารามิเตอร์เส้นทาง fileId
คำขอ
DELETE https://www.googleapis.com/drive/v3/files/FILE_ID/permissions/PERMISSION_ID
กำหนดวันที่หมดอายุเพื่อจำกัดสิทธิ์เข้าถึงรายการ
เมื่อทำงานร่วมกับผู้อื่นในโปรเจ็กต์ที่ละเอียดอ่อน คุณอาจต้องการจำกัดสิทธิ์เข้าถึงรายการบางรายการในไดรฟ์หลังจากผ่านไประยะหนึ่ง สำหรับไฟล์และโฟลเดอร์ คุณสามารถกำหนดวันที่หมดอายุเพื่อจำกัดหรือนำสิทธิ์เข้าถึงรายการนั้นออกได้
วิธีตั้งค่าวันที่หมดอายุ
ใช้เมธอด
createในทรัพยากรpermissionsและตั้งค่าช่องexpirationTime(พร้อมกับช่องอื่นๆ ที่จำเป็น) ดูข้อมูลเพิ่มเติมได้ที่ สร้างสิทธิ์ใช้เมธอด
updateในทรัพยากรpermissionsและตั้งค่าช่องexpirationTime(พร้อมกับ ช่องอื่นๆ ที่จำเป็น) ดูข้อมูลเพิ่มเติมได้ที่ อัปเดต สิทธิ์
ช่อง
expirationTime
จะระบุเวลาที่สิทธิ์หมดอายุโดยใช้รูปแบบวันที่และเวลา RFC 3339 เวลาหมดอายุมีข้อจำกัดดังนี้
- ตั้งค่าได้เฉพาะสิทธิ์ของผู้ใช้และกลุ่มเท่านั้น
- เวลาต้องเป็นเวลาในอนาคต
- เวลาต้องไม่เกิน 1 ปีนับจากปัจจุบัน
- เฉพาะบทบาท
readerเท่านั้นที่มีสิทธิ์การเข้าถึงที่มีวันหมดอายุบนโฟลเดอร์ได้
ดูข้อมูลเพิ่มเติมเกี่ยวกับวันที่หมดอายุได้ในบทความต่อไปนี้
หัวข้อที่เกี่ยวข้อง
- จัดการข้อเสนอการเข้าถึงที่รอดำเนินการ
- จัดการโฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดและแบบขยาย
- โอนการเป็นเจ้าของไฟล์
- ปกป้องเนื้อหาไฟล์
- เข้าถึงไฟล์ในไดรฟ์ที่แชร์ผ่านลิงก์โดยใช้คีย์ทรัพยากร
- บทบาทและสิทธิ์