ผู้ใช้เป็นเจ้าของโฟลเดอร์ในไดรฟ์ของฉัน โฟลเดอร์อาจมีผู้ใช้หลายรายที่มีสิทธิ์เข้าถึงไฟล์ต่างๆ โมเดลการเข้าถึงแบบจำกัดนี้หมายความว่าผู้ใช้แต่ละรายอาจเห็นรายการต่างๆ ในโฟลเดอร์เดียวกัน ผู้ใช้ที่มีสิทธิ์เข้าถึงโฟลเดอร์หลักในไดรฟ์ของฉัน แต่ไม่มีสิทธิ์เข้าถึงรายการในโฟลเดอร์นั้นจะมี "สิทธิ์เข้าถึงแบบจำกัด" ซึ่งทำให้เกิดสถานการณ์ที่ยากต่อการทราบว่าใครมีสิทธิ์เข้าถึงในลำดับชั้น
ในทางกลับกัน ไดรฟ์ที่แชร์จะเป็นเจ้าของไฟล์ในไดรฟ์ที่แชร์ ไดรฟ์ที่แชร์มีโมเดลแบบขยายเพื่อให้ผู้ใช้ทุกคนมีรายการเดียวกันในโฟลเดอร์เดียวกัน
การเปิดตัว โฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดจะจำลองโมเดลการเข้าถึงแบบขยายจากไดรฟ์ที่แชร์ไปยังไดรฟ์ของฉัน การเปลี่ยนแปลงนี้ทำให้โฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดเป็นข้อยกเว้นเพียงอย่างเดียวที่อนุญาตให้จำกัดสิทธิ์เข้าถึงโฟลเดอร์ย่อยที่เฉพาะเจาะจงได้ทั้งในไดรฟ์ของฉันและไดรฟ์ที่แชร์
คู่มือนี้จะอธิบายวิธีจัดการโฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดและสิทธิ์เข้าถึงแบบขยายใน Google ไดรฟ์
เกี่ยวกับโฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัด
โฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดช่วยให้คุณจำกัดโฟลเดอร์สำหรับผู้ใช้ที่เฉพาะเจาะจงได้ เฉพาะผู้ใช้ที่คุณเพิ่มลงในสิทธิ์ของโฟลเดอร์โดยตรงเท่านั้นที่เปิดโฟลเดอร์และเข้าถึงเนื้อหาในโฟลเดอร์ได้ ผู้ใช้ที่มีสิทธิ์เข้าถึงโฟลเดอร์ในไดรฟ์ของฉันหรือโฟลเดอร์ในไดรฟ์ที่แชร์ที่รับค่ามาจากโฟลเดอร์หลักจะเห็นโฟลเดอร์ที่จำกัดในไดรฟ์ แต่จะเปิดโฟลเดอร์ไม่ได้ ฟีเจอร์นี้ช่วยให้ลักษณะการแชร์รายการในไดรฟ์ของฉันและไดรฟ์ที่แชร์สอดคล้องกันมากขึ้น โดยช่วยให้คุณจัดระเบียบโฟลเดอร์ที่มีเนื้อหาที่ละเอียดอ่อนควบคู่ไปกับเนื้อหาที่แชร์ในวงกว้างมากขึ้น
โฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดจะใช้ได้ทั้งในไดรฟ์ของฉันและไดรฟ์ที่แชร์ บทบาท owner ในไดรฟ์ของฉันและบทบาท organizer
ในไดรฟ์ที่แชร์จะเข้าถึงโฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดได้ทุกเมื่อ ไม่จำเป็นต้องมีสิทธิ์พิเศษในการแก้ไขรายชื่อผู้ใช้โฟลเดอร์ บทบาทที่แชร์โฟลเดอร์ได้จะอัปเดตรายชื่อสมาชิกได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาทและ
สิทธิ์ได้ที่บทบาทและสิทธิ์และภาพรวมของไดรฟ์
ที่แชร์
โปรดทราบว่าแม้ว่าโฟลเดอร์จะเป็นไฟล์ประเภทหนึ่ง แต่การเข้าถึงแบบจำกัดจะใช้ไม่ได้กับไฟล์
ตั้งค่าสิทธิ์เข้าถึงแบบจำกัดในโฟลเดอร์
แม้ว่าผู้ใช้ที่มีสิทธิ์เข้าถึงโฟลเดอร์โดยตรงจะเข้าถึงโฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัด
ได้ แต่จะมีเพียงบทบาท owner ในไดรฟ์ของฉันและบทบาท organizer
ในไดรฟ์ที่แชร์เท่านั้นที่เปิดหรือปิดใช้สิทธิ์เข้าถึงแบบจำกัดได้
นอกจากนี้ หากผู้ใช้ที่มีบทบาท writer ในไดรฟ์ของฉันมี
ช่องบูลีน writersCanShare ในทรัพยากร files
ตั้งค่าเป็น true ผู้ใช้ดังกล่าวจะเปิดหรือปิดฟีเจอร์นี้ได้เช่นกัน
หากต้องการจำกัดสิทธิ์เข้าถึงโฟลเดอร์ ให้ตั้งค่าช่องบูลีน inheritedPermissionsDisabled ในทรัพยากร files เป็น true เมื่อตั้งค่าเป็น true จะมีเพียงบทบาท owner บทบาท
organizer และผู้ใช้ที่มีสิทธิ์เข้าถึงโฟลเดอร์โดยตรงเท่านั้นที่เข้าถึงได้
หากต้องการเปิดสิทธิ์ที่รับค่ามาอีกครั้ง ให้ตั้งค่า inheritedPermissionsDisabled เป็น false
ตรวจสอบสิทธิ์ในการจำกัดสิทธิ์เข้าถึงโฟลเดอร์
หากต้องการตรวจสอบว่าคุณจำกัดสิทธิ์เข้าถึงโฟลเดอร์ได้หรือไม่ ให้ตรวจสอบค่าบูลีน
ของ capabilities.canDisableInheritedPermissions และ
capabilities.canEnableInheritedPermissions ในทรัพยากร files การตั้งค่าเหล่านี้จะยืนยันว่าคุณมีสิทธิ์จำกัดสิทธิ์เข้าถึงโฟลเดอร์ผ่านช่อง inheritedPermissionsDisabled หรือไม่
ดูข้อมูลเพิ่มเติมเกี่ยวกับ capabilities ได้ที่ ทำความเข้าใจความสามารถของไฟล์
แสดงรายการโฟลเดอร์ย่อยของโฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัด
หากต้องการตรวจสอบว่าคุณแสดงรายการโฟลเดอร์ย่อยของโฟลเดอร์ได้หรือไม่ ให้ใช้ช่องบูลีน capabilities.canListChildren
ค่าที่แสดงจะเป็น false เสมอเมื่อรายการไม่ใช่โฟลเดอร์ หรือหากระบบนำสิทธิ์เข้าถึงเนื้อหาของโฟลเดอร์ของผู้ขอออกโดยตั้งค่า inheritedPermissionsDisabled เป็น false
หากระบบนำสิทธิ์เข้าถึงเนื้อหาของโฟลเดอร์ออก คุณจะยังเข้าถึง
ข้อมูลเมตาของโฟลเดอร์ได้ด้วยเมธอด files.get() และ
files.list() หากต้องการยืนยันว่าสิทธิ์เข้าถึงถูก
จำกัด ให้ตรวจสอบเนื้อหาการตอบกลับเพื่อดูว่ารายการเป็นโฟลเดอร์ที่มี MIME
Type application/vnd.google-apps.folder และช่อง
capabilities.canListChildren ตั้งค่าเป็น "เท็จ" หรือไม่ หากคุณพยายามแสดงรายการโฟลเดอร์ย่อยของโฟลเดอร์ดังกล่าว ผลลัพธ์จะเป็นรายการว่างเปล่าเสมอ
เข้าถึงข้อมูลเมตาของโฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัด
โฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดช่วยให้คุณดูข้อมูลเมตา ของโฟลเดอร์ได้แม้ว่าคุณจะไม่มีสิทธิ์เข้าถึงเนื้อหาของโฟลเดอร์ก็ตาม
เมื่อใช้ทรัพยากร permissions เพื่อ
กำหนดสิทธิ์เข้าถึงของผู้ใช้ ทั้งโฟลเดอร์ในไดรฟ์ของฉันและโฟลเดอร์ในไดรฟ์ที่แชร์
ซึ่งให้สิทธิ์เข้าถึงข้อมูลเมตาเท่านั้นจะมีค่าต่อไปนี้ใน
เนื้อหาการตอบกลับ: inheritedPermissionsDisabled=true และ view=metadata ระบบจะตั้งค่าบทบาท
เป็น reader เสมอ ระบบจะป้อนข้อมูลในช่อง view เฉพาะสิทธิ์ที่อยู่ใน view เท่านั้น ดูข้อมูลเพิ่มเติมได้ที่ มุมมอง
รายการทั้งหมดในช่อง permissionDetails จะมีช่อง inherited ตั้งค่าเป็น true เพื่อระบุว่าสิทธิ์ดังกล่าวรับค่ามาจากโฟลเดอร์หลัก และระบบไม่ได้ให้สิทธิ์เข้าถึงเนื้อหาของโฟลเดอร์โดยตรง
หากต้องการให้สิทธิ์เข้าถึงทั้งเนื้อหาและข้อมูลเมตาของโฟลเดอร์ ให้ตั้งค่าช่อง
inheritedPermissionsDisabled เป็น false หรืออัปเดตบทบาทเป็น reader
หรือสูงกว่า
สุดท้ายนี้ หากระบบจำกัดสิทธิ์ครั้งแรกโดยปิดการรับค่าสิทธิ์ในโฟลเดอร์ (inheritedPermissionsDisabled=true) แล้วเพิ่มสิทธิ์กลับลงในโฟลเดอร์โดยตรง ค่าในเนื้อหาการตอบกลับจะกลายเป็น inheritedPermissionsDisabled=true โดยที่ช่อง view ไม่ได้ตั้งค่า หากโฟลเดอร์อยู่ในไดรฟ์ที่แชร์ รายการ permissionDetails จะมีรายการที่มีช่อง inherited ตั้งค่าเป็น false เพื่อระบุว่าสิทธิ์ดังกล่าวไม่ได้รับค่ามาจากโฟลเดอร์หลัก สิทธิ์นี้จะให้สิทธิ์เข้าถึงทั้งเนื้อหาและข้อมูลเมตาของโฟลเดอร์เช่นเดียวกับสิทธิ์อื่นๆ
ลบโฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัด
คุณสามารถลบโฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดได้โดยใช้เมธอด files.delete() ในทรัพยากร files
ในไดรฟ์ของฉัน เฉพาะเจ้าของรายการเท่านั้นที่ลบลำดับชั้นของโฟลเดอร์ได้ หากผู้ใช้ลบลำดับชั้นที่มีโฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดและเป็นของผู้อื่น ระบบจะย้ายโฟลเดอร์เหล่านี้ไปยัง "ไดรฟ์ของฉัน" ของเจ้าของ
หากผู้ใช้มีบทบาท owner ระบบจะลบลำดับชั้นทั้งหมด
ในไดรฟ์ที่แชร์ บทบาท organizer จะลบลำดับชั้นได้แม้ว่าจะมีโฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดก็ตาม หากบทบาท fileOrganizer ลบลำดับชั้นที่มีโฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัด ผลลัพธ์จะขึ้นอยู่กับว่าผู้ใช้ดังกล่าวถูกเพิ่มกลับเป็น fileOrganizer ในโฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดหรือไม่ หากถูกเพิ่มกลับ ระบบจะลบลำดับชั้นทั้งหมด หากไม่ถูกเพิ่มกลับ ระบบจะย้ายโฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดไปยังโฟลเดอร์รูทของไดรฟ์ที่แชร์
เกี่ยวกับการเข้าถึงแบบขยาย
การเปิดตัวโฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดจะขยายโมเดลการเข้าถึงแบบขยายจากไดรฟ์ที่แชร์ไปยังไดรฟ์ของฉัน เมื่อเปิดตัวโมเดลการเข้าถึงแล้ว การมีสิทธิ์เข้าถึงโฟลเดอร์หมายความว่าคุณจะมีสิทธิ์เข้าถึงทุกอย่างในลำดับชั้นของโฟลเดอร์นั้นอย่างน้อยในระดับเดียวกัน โฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดเป็นข้อยกเว้นเพียงอย่างเดียวที่อนุญาตให้จำกัดสิทธิ์เข้าถึงโฟลเดอร์ย่อยที่เฉพาะเจาะจงได้ทั้งในไดรฟ์ของฉันและไดรฟ์ที่แชร์ ซึ่งหมายความว่าคุณจะนำสิทธิ์เข้าถึงที่รับค่ามาจากโฟลเดอร์หลักออกไม่ได้อีกต่อไป เว้นแต่โฟลเดอร์ของคุณจะมีสิทธิ์เข้าถึงแบบจำกัด หากทำเช่นนั้น Drive API จะแสดงการตอบกลับข้อผิดพลาด หากต้องการกำหนดการควบคุมการเข้าถึงที่ละเอียดยิ่งขึ้นภายในลำดับชั้น คุณสามารถตั้งค่าสิทธิ์เข้าถึงแบบจำกัดในโฟลเดอร์ได้
ปรับให้เข้ากับการเข้าถึงแบบขยาย
เราได้ปรับปรุง Google ไดรฟ์ API หลายอย่างเพื่อให้การปรับตัวเข้ากับการเข้าถึงแบบขยายของนักพัฒนาแอปง่ายขึ้น ดังนี้
ตอนนี้ระบบจะป้อนข้อมูลในช่อง
permissionDetails[]ในทรัพยากรpermissionsสำหรับรายการในไดรฟ์ของฉัน ก่อนหน้านี้ ช่องดังกล่าวจะไม่ได้ตั้งค่าหรือจำลองจากช่องteamDrivePermissionDetailsเมื่อเหมาะสม ระบบจะป้อนข้อมูลเฉพาะช่องpermissionTypeและinheritedในไดรฟ์ของฉันช่อง
permissionDetails[].inheritedจะระบุว่าสิทธิ์ดังกล่าวรับค่ามาจากโฟลเดอร์หลักของรายการหรือไม่ ช่องนี้ช่วยให้คุณตรวจพบว่าบทบาทบางอย่าง (เช่นreader) รับค่ามาจากโฟลเดอร์หลักหรือไม่ และมีการให้บทบาทที่สูงกว่า (เช่นwriter) ในรายการโดยตรงหรือไม่เมื่อดูสิทธิ์ของรายการ ช่อง
permissionDetails[]อาจมีหลายรายการ หากมี ระบบจะมี 1 รายการสำหรับสิทธิ์ในรายการโดยตรงสำหรับขอบเขตนั้นๆ แล้วตามด้วยรายการสำหรับสิทธิ์ของสมาชิกหรือสิทธิ์ที่รับค่ามาในรายการนักพัฒนาแอปสามารถเลือกใช้ลักษณะการทำงานของ API การเข้าถึงแบบขยายในไดรฟ์ของฉันก่อนที่จะมีการบังคับใช้ในอนาคต คุณสามารถตั้งค่าพารามิเตอร์คำขอ
enforceExpansiveAccessเป็นtrueเพื่อให้การเปลี่ยนแปลงการเข้าถึงแบบขยายในอนาคตไม่ส่งผลต่อแอปของคุณการเลือกใช้ตอนนี้หมายความว่า API จะทำงานเหมือนกันสำหรับรายการในไดรฟ์ของฉันและรายการในไดรฟ์ที่แชร์ เช่น การพยายามจำกัดสิทธิ์เข้าถึงให้ต่ำกว่าบทบาทที่รับค่ามาจะล้มเหลวเมื่อ เรียก
permissions.update()ในทำนองเดียวกัน การเรียกpermissions.delete()จะล้มเหลวหากสิทธิ์ดังกล่าวรับค่ามาจากโฟลเดอร์หลัก
ตรวจหาและป้องกันสิทธิ์เข้าถึงแบบจำกัด
แอปของคุณอาจสร้างสิทธิ์เข้าถึงแบบจำกัด (ที่ผู้ใช้มีสิทธิ์เข้าถึงโฟลเดอร์หลักในไดรฟ์ของฉัน แต่ไม่มีสิทธิ์เข้าถึงไฟล์ในโฟลเดอร์นั้น) ในโฟลเดอร์ในไดรฟ์ของฉันเมื่อใช้เมธอด permissions.update() หรือ permissions.delete()
เมื่อใช้เมธอดเหล่านี้ คุณสามารถตรวจสอบช่องในทรัพยากร permissions เพื่อดูว่าคำขอใดอาจสร้างสิทธิ์เข้าถึงแบบจำกัด และหลีกเลี่ยงการส่งคำขอดังกล่าว หากต้องการตรวจหาสถานการณ์นี้ ให้ใช้ช่อง enforceExpansiveAccess ในคำขอ
นอกจากนี้ หากแอปของคุณสร้างสิทธิ์เข้าถึงแบบจำกัดในโฟลเดอร์แล้ว คุณสามารถทำตามขั้นตอนต่อไปนี้
สำรวจลำดับชั้นของโฟลเดอร์เพื่อนำสิทธิ์เข้าถึงแบบจำกัดออก และตั้งค่าสิทธิ์เข้าถึงโฟลเดอร์แบบจำกัดแทน คุณควร
หากรายการที่คุณพยายามเลิกแชร์เป็นไฟล์ คุณสามารถสร้างโฟลเดอร์ระดับกลาง ตั้งค่าสิทธิ์เข้าถึงแบบจำกัดในโฟลเดอร์นั้น แล้วย้ายไฟล์ไปไว้ในโฟลเดอร์ใหม่
หากไม่ต้องการใช้โฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัด แต่ต้องนำสิทธิ์เข้าถึงบางอย่างออก คุณสามารถย้ายไฟล์ไปยังโฟลเดอร์ส่วนตัว (เช่น โฟลเดอร์รูทในไดรฟ์ของฉัน) จากนั้น สร้าง ทางลัดไปยังตำแหน่งเดิมของรายการเพื่อให้ ผู้ใช้ยังคงใช้รายการนั้นได้
หัวข้อที่เกี่ยวข้อง
- แชร์ไฟล์ โฟลเดอร์ และไดรฟ์
- หลักการทำงานของสิทธิ์เข้าถึงไฟล์ในไดรฟ์ที่แชร์
- ดูข้อมูลเกี่ยวกับโฟลเดอร์ที่มีการจำกัดการเข้าถึง