ผู้ใช้เป็นเจ้าของโฟลเดอร์ไดรฟ์ของฉัน โฟลเดอร์อาจมีผู้ใช้หลายคนที่มีสิทธิ์เข้าถึงไฟล์ต่างๆ รูปแบบการเข้าถึงแบบจํากัดนี้หมายความว่าผู้ใช้แต่ละรายอาจเห็นรายการที่แตกต่างกันภายในโฟลเดอร์เดียวกัน ผู้ใช้ที่มีสิทธิ์เข้าถึงโฟลเดอร์ไดรฟ์ของฉันหลัก แต่ไม่เข้าถึงรายการภายในโฟลเดอร์นั้นได้จะมี "สิทธิ์เข้าถึงที่จํากัด" ซึ่งทำให้เกิดสถานการณ์ที่ยากที่จะทราบว่าใครมีสิทธิ์เข้าถึงภายในลําดับชั้น
ในทางกลับกัน ไฟล์ในไดรฟ์ที่แชร์จะเป็นของไดรฟ์ที่แชร์ ไดรฟ์ที่แชร์มีรูปแบบที่ขยายได้เพื่อให้ผู้ใช้ทุกคนมีรายการรายการเดียวกันภายในโฟลเดอร์เดียวกัน
การนำโฟลเดอร์ที่มีการจำกัดการเข้าถึงมาใช้เป็นการจำลองรูปแบบการเข้าถึงแบบขยายจากไดรฟ์ที่แชร์ไปยังไดรฟ์ของฉัน การเปลี่ยนแปลงนี้ทำให้โฟลเดอร์ที่มีการจำกัดการเข้าถึงเป็นข้อยกเว้นเดียวที่อนุญาตให้จำกัดการเข้าถึงโฟลเดอร์ย่อยที่เฉพาะเจาะจงทั้งในไดรฟ์ของฉันและไดรฟ์ที่แชร์
คู่มือนี้จะอธิบายวิธีจัดการโฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดและสิทธิ์เข้าถึงแบบขยายใน 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
หากระบบนำสิทธิ์เข้าถึงเนื้อหาของโฟลเดอร์ออกแล้ว คุณจะยังเข้าถึงmetadataของโฟลเดอร์ได้โดยใช้เมธอด files.get()
และ files.list()
หากต้องการยืนยันว่าการเข้าถึงถูกจำกัดหรือไม่ ให้ตรวจสอบเนื้อหาของคำตอบเพื่อดูว่ารายการเป็นโฟลเดอร์ที่มีประเภท MIME application/vnd.google-apps.folder
และตั้งค่าช่อง capabilities.canListChildren
เป็นเท็จหรือไม่ หากคุณพยายามแสดงรายการโฟลเดอร์ย่อยของโฟลเดอร์ดังกล่าว ผลลัพธ์จะว่างเปล่าเสมอ
เข้าถึงโฟลเดอร์ที่มีข้อมูลเมตาการเข้าถึงแบบจำกัด
โฟลเดอร์ที่มีการจำกัดการเข้าถึงช่วยให้คุณดูmetadataของโฟลเดอร์ได้แม้ว่าจะไม่มีสิทธิ์เข้าถึงเนื้อหาของโฟลเดอร์ก็ตาม
เมื่อใช้ทรัพยากร 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
ช่องในคำขอ
นอกจากนี้ หากแอปของคุณสร้างการเข้าถึงที่จํากัดในโฟลเดอร์แล้ว ให้ทําตามขั้นตอนต่อไปนี้
เลื่อนไปตามลําดับชั้นของโฟลเดอร์เพื่อนําการเข้าถึงที่จํากัดออก คุณควรตั้งค่าการเข้าถึงโฟลเดอร์แบบจำกัดแทน
หากรายการที่คุณพยายามเลิกแชร์เป็นไฟล์ คุณสามารถสร้างโฟลเดอร์กลาง ตั้งค่าการเข้าถึงที่จํากัดในโฟลเดอร์นั้น แล้วย้ายไฟล์ไปไว้ในโฟลเดอร์ใหม่
หากไม่ต้องการใช้โฟลเดอร์การเข้าถึงที่จํากัด แต่ต้องนําสิทธิ์เข้าถึงบางอย่างออก คุณสามารถย้ายไฟล์ไปยังโฟลเดอร์ส่วนตัวได้ (เช่น โฟลเดอร์รูทของไดรฟ์ของฉัน) จากนั้นคุณสามารถสร้างทางลัดไปยังตำแหน่งเดิมของรายการเพื่อให้ผู้ใช้ยังคงใช้งานได้
หัวข้อที่เกี่ยวข้อง
- แชร์ไฟล์ โฟลเดอร์ และไดรฟ์
- หลักการทำงานของสิทธิ์เข้าถึงไฟล์ในไดรฟ์ที่แชร์
- ดูข้อมูลเกี่ยวกับโฟลเดอร์ที่มีการจำกัดการเข้าถึง