ผู้ใช้เป็นเจ้าของโฟลเดอร์ไดรฟ์ของฉัน โฟลเดอร์อาจมีผู้ใช้หลายรายที่มีสิทธิ์เข้าถึงไฟล์ต่างๆ รูปแบบการเข้าถึงแบบจำกัดนี้หมายความว่าผู้ใช้แต่ละรายอาจเห็นรายการที่แตกต่างกันในโฟลเดอร์เดียวกัน ผู้ใช้ที่มีสิทธิ์เข้าถึงโฟลเดอร์ไดรฟ์ของฉันหลักแต่ไม่มีสิทธิ์เข้าถึงรายการ ภายในโฟลเดอร์นั้นจะมี "สิทธิ์เข้าถึงแบบจำกัด" ซึ่งทำให้ยากต่อการทราบว่าใครมีสิทธิ์เข้าถึงภายในลำดับชั้น
ในทางกลับกัน ไดรฟ์ที่แชร์จะเป็นเจ้าของไฟล์ในไดรฟ์ที่แชร์ ไดรฟ์ที่แชร์มี รูปแบบที่ครอบคลุมเพื่อให้ผู้ใช้ทุกคนมีรายการเดียวกันในโฟลเดอร์เดียวกัน
การเปิดตัวโฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดเป็นการจำลองรูปแบบการเข้าถึงที่ครอบคลุม จากไดรฟ์ที่แชร์ไปยังไดรฟ์ของฉัน การเปลี่ยนแปลงนี้จะทำให้ โฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดเป็นข้อยกเว้นเดียวที่อนุญาตให้จำกัดสิทธิ์เข้าถึง โฟลเดอร์ย่อยที่เฉพาะเจาะจงทั้งในไดรฟ์ของฉันและไดรฟ์ที่แชร์
คำแนะนำนี้อธิบายวิธีจัดการโฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดและสิทธิ์เข้าถึงแบบขยายใน 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
เป็น false หรือไม่ หากคุณพยายามแสดงรายการ
โฟลเดอร์ย่อยของโฟลเดอร์ดังกล่าว ผลลัพธ์จะเป็นค่าว่างเสมอ
เข้าถึงโฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัด
โฟลเดอร์ที่มีการจำกัดการเข้าถึงจะช่วยให้คุณดูข้อมูลเมตาของโฟลเดอร์ได้ หากคุณไม่มีสิทธิ์เข้าถึงเนื้อหาของโฟลเดอร์
เมื่อใช้แหล่งข้อมูล 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 Drive API หลายอย่างเพื่อช่วยให้นักพัฒนาแอปปรับตัวให้เข้ากับการเข้าถึงแบบขยายได้ง่ายขึ้น ดังนี้
ตอนนี้ระบบจะป้อนข้อมูลในฟิลด์
permissionDetails[]
ของทรัพยากรpermissions
สำหรับรายการในไดรฟ์ของฉัน ก่อนหน้านี้ฟิลด์จะ ไม่ได้ตั้งค่าหรือทำซ้ำจากฟิลด์teamDrivePermissionDetails
ในกรณีที่ เหมาะสม ระบบจะป้อนข้อมูลเฉพาะฟิลด์permissionType
และinherited
ใน ไดรฟ์ของฉันฟิลด์
permissionDetails[].inherited
จะระบุว่าสิทธิ์ รับค่ามาจากรายการระดับบนสุดของรายการหรือไม่ ซึ่งจะช่วยให้คุณตรวจหาได้ว่ามีการรับช่วงบทบาทบางอย่าง (เช่นreader
) จากระดับบนหรือไม่ และมีการมอบบทบาทที่สูงกว่า (เช่นwriter
) ให้กับรายการโดยตรงหรือไม่เมื่อดูสิทธิ์ของรายการ ฟิลด์
permissionDetails[]
อาจมีหลายรายการ หากมี จะมีรายการเดียวสำหรับ สิทธิ์ในรายการโดยตรงสำหรับขอบเขตนั้น จากนั้นจะมีรายการสำหรับ สิทธิ์ที่รับช่วงหรือสิทธิ์ของสมาชิกในรายการนักพัฒนาแอปสามารถเลือกใช้ลักษณะการทำงานของ API การเข้าถึงแบบขยายใน My Drive ก่อนที่จะมีการบังคับใช้ในอนาคต คุณสามารถตั้งค่าพารามิเตอร์คำขอ
enforceExpansiveAccess
เป็นtrue
เพื่อให้การเปลี่ยนแปลงสิทธิ์เข้าถึงแบบครอบคลุมในอนาคตไม่ส่งผลต่อแอปของคุณการเลือกใช้ตอนนี้หมายความว่า API จะทำงานเหมือนกันสำหรับรายการในไดรฟ์ของฉัน และรายการในไดรฟ์ที่แชร์ ตัวอย่างเช่น ความพยายามใดๆ ในการจำกัดการเข้าถึงที่ต่ำกว่าบทบาทที่รับช่วงมาจะล้มเหลวเมื่อเรียกใช้
permissions.update()
ในทำนองเดียวกัน การเรียกไปยังpermissions.delete()
จะล้มเหลวหากมีการรับช่วงสิทธิ์
ตรวจหาและป้องกันการเข้าถึงที่ถูกจำกัด
แอปของคุณอาจสร้างสิทธิ์เข้าถึงแบบจำกัด (ซึ่งผู้ใช้มีสิทธิ์เข้าถึงโฟลเดอร์ไดรฟ์ของฉันระดับบนสุด แต่ไม่มีสิทธิ์เข้าถึงไฟล์ในโฟลเดอร์นั้น) ในโฟลเดอร์ไดรฟ์ของฉันเมื่อใช้เมธอด permissions.update()
หรือ permissions.delete()
เมื่อใช้วิธีการเหล่านี้ คุณจะตรวจสอบฟิลด์ในpermissions
แหล่งข้อมูลเพื่อดูว่าคำขอใดอาจสร้างการเข้าถึงที่จำกัดและหลีกเลี่ยงการส่ง
คำขอดังกล่าวได้ หากต้องการตรวจหาสถานการณ์นี้ ให้ใช้ฟิลด์ enforceExpansiveAccess
ในคำขอ
นอกจากนี้ หากแอปของคุณได้สร้างสิทธิ์เข้าถึงแบบจำกัดในโฟลเดอร์แล้ว คุณสามารถทำตามขั้นตอนต่อไปนี้
ไปยังลำดับชั้นของโฟลเดอร์เพื่อนำสิทธิ์เข้าถึงที่ถูกจำกัดออก คุณควรตั้งค่าการเข้าถึงโฟลเดอร์แบบจำกัดแทน
หากรายการที่คุณพยายามเลิกแชร์เป็นไฟล์ คุณสามารถสร้าง โฟลเดอร์กลาง กำหนดสิทธิ์เข้าถึงแบบจำกัด แล้วย้ายไฟล์ไปยัง โฟลเดอร์ใหม่ได้
หากไม่ต้องการใช้โฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดแต่ต้องนำสิทธิ์เข้าถึงบางอย่างออก คุณสามารถย้ายไฟล์ไปยังโฟลเดอร์ส่วนตัว (เช่น โฟลเดอร์รูทของไดรฟ์ของฉัน) ได้ จากนั้นคุณจะสร้าง ทางลัดไปยังตำแหน่งเดิมของรายการเพื่อให้ ผู้ใช้ยังคงใช้รายการนั้นได้
หัวข้อที่เกี่ยวข้อง
- แชร์ไฟล์ โฟลเดอร์ และไดรฟ์
- หลักการทำงานของสิทธิ์เข้าถึงไฟล์ในไดรฟ์ที่แชร์
- ดูข้อมูลเกี่ยวกับโฟลเดอร์ที่มีการจำกัดการเข้าถึง