ไฟล์ โฟลเดอร์ และไดรฟ์ที่แชร์ทุกรายการใน Google ไดรฟ์จะมีทรัพยากร permissions ที่เชื่อมโยงอยู่ แต่ละทรัพยากรจะ
ระบุสิทธิ์สำหรับtype (user
group domain anyone) และ
role (owner
organizer fileOrganizer writer commenter reader) ที่เฉพาะเจาะจง ตัวอย่างเช่น ไฟล์อาจมีสิทธิ์ที่ให้สิทธิ์การเข้าถึงแบบอ่านอย่างเดียว (role=reader) แก่ผู้ใช้ที่เฉพาะเจาะจง (type=user) ในขณะที่สิทธิ์อื่นให้สิทธิ์แก่สมาชิกของกลุ่มที่เฉพาะเจาะจง (type=group) ในการเพิ่มความคิดเห็นในไฟล์ (role=commenter)
ดูรายการบทบาททั้งหมดและการดำเนินการที่แต่ละบทบาทอนุญาตได้ที่บทบาท และสิทธิ์
วิธีการทำงานของสิทธิ์
รายการสิทธิ์สำหรับโฟลเดอร์จะเผยแพร่ลงมา ไฟล์และโฟลเดอร์ย่อยทั้งหมด จะรับช่วงสิทธิ์จากโฟลเดอร์หลัก เมื่อใดก็ตามที่มีการเปลี่ยนแปลงสิทธิ์หรือลำดับชั้น การส่งต่อจะเกิดขึ้นแบบเรียกซ้ำผ่านโฟลเดอร์ที่ซ้อนกันทั้งหมด ตัวอย่างเช่น หากมีไฟล์อยู่ในโฟลเดอร์และมีการย้ายโฟลเดอร์นั้นไปยังโฟลเดอร์อื่น สิทธิ์ในโฟลเดอร์ใหม่จะแพร่ไปยังไฟล์ หาก โฟลเดอร์ใหม่ให้บทบาทใหม่แก่ผู้ใช้ไฟล์ เช่น "ผู้เขียน" บทบาทใหม่จะลบล้างบทบาท เก่า
ในทางกลับกัน หากไฟล์รับค่า role=writer จากโฟลเดอร์ และถูกย้ายไปยัง
โฟลเดอร์อื่นที่มีบทบาท "ผู้อ่าน" ตอนนี้ไฟล์จะรับค่า
role=reader
คุณจะนำออกหรือลดสิทธิ์ที่ได้รับในรายการใดๆ ไม่ได้ แต่ต้องปรับสิทธิ์เหล่านี้ในโฟลเดอร์หลักที่เป็นต้นทางหรือโฟลเดอร์ในลำดับชั้นต้องเปิดใช้การตั้งค่าการเข้าถึงแบบจำกัด
คุณสามารถเพิ่มสิทธิ์ที่รับช่วงมาในรายการได้ หากมีการเพิ่มสิทธิ์ ในบัญชีของบุตรหลาน การเปลี่ยนแปลงสิทธิ์ของผู้ปกครองจะไม่ส่งผลต่อสิทธิ์ของบุตรหลาน เว้นแต่สิทธิ์ใหม่ของผู้ปกครองจะมากกว่าของบุตรหลาน
ระบบไม่รองรับการดำเนินการเกี่ยวกับสิทธิ์พร้อมกันในไฟล์เดียวกัน ระบบจะใช้เฉพาะการอัปเดตล่าสุดเท่านั้น
วิธีการทำงานของลิงก์ไฟล์และการควบคุมการเข้าถึง
เมื่อคุณแชร์ไฟล์หรือโฟลเดอร์กับผู้ใช้หรือกลุ่มที่เฉพาะเจาะจง URL สำหรับเข้าถึง
รายการจะไม่เปลี่ยนแปลง และระบบจะไม่สร้างลิงก์ที่ไม่ซ้ำกันสำหรับผู้ใช้แต่ละราย
แต่จะมีลิงก์เดียวที่คงที่ตาม fileId
ไดรฟ์จะควบคุมการเข้าถึงโดยการประเมิน ACL ของรายการ เมื่อผู้ใช้ พยายามเปิดลิงก์ ไดรฟ์จะยืนยันตัวตนที่ได้รับการตรวจสอบสิทธิ์ ของผู้ใช้กับ ACL หากมีการเพิกถอนสิทธิ์หรือสิทธิ์หมดอายุ ระบบจะนำผู้ใช้ออกจาก ACL หากผู้ใช้พยายามเข้าชมลิงก์ อีกครั้ง ไดรฟ์จะปฏิเสธการเข้าถึง
ทำความเข้าใจความสามารถของไฟล์
ทรัพยากร permissions ไม่ได้เป็นตัวกำหนดความสามารถของผู้ใช้ปัจจุบันในการดำเนินการกับไฟล์หรือโฟลเดอร์
แต่ทรัพยากร files จะมีคอลเล็กชัน
ของฟิลด์บูลีน capabilities
ที่ใช้เพื่อระบุว่าดำเนินการกับไฟล์หรือโฟลเดอร์ได้หรือไม่
Google ไดรฟ์ API จะตั้งค่าฟิลด์เหล่านี้ตามpermissions
ทรัพยากรที่เชื่อมโยงกับไฟล์หรือโฟลเดอร์ของผู้ใช้ปัจจุบัน
เช่น เมื่ออเล็กซ์เข้าสู่ระบบแอปของคุณและพยายามแชร์ไฟล์ ระบบจะตรวจสอบบทบาทของอเล็กซ์
เพื่อดูสิทธิ์ในไฟล์ หากบทบาทอนุญาตให้ผู้ใช้แชร์ไฟล์ได้
capabilitiesที่เกี่ยวข้องกับไฟล์ เช่น canShare จะได้รับการตั้งค่าตามบทบาท
หากอเล็กซ์ต้องการแชร์ไฟล์ แอปของคุณจะตรวจสอบ 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=organizerwritersCanShareการตั้งค่าไม่มีผลกับรายการในไดรฟ์ที่แชร์ ระบบจะถือว่ามีการตั้งค่าเป็นtrueเสมอ
หากต้องการแชร์โฟลเดอร์ในไดรฟ์ที่แชร์ ผู้ใช้ต้องมี
role=organizer- หากตั้งค่าข้อจำกัดของไดรฟ์ที่แชร์
sharingFoldersRequiresOrganizerPermissionเป็นfalseผู้ใช้ที่มีrole=fileOrganizerจะแชร์โฟลเดอร์ในไดรฟ์ที่แชร์นั้นได้
- หากตั้งค่าข้อจำกัดของไดรฟ์ที่แชร์
หากต้องการจัดการการเป็นสมาชิกไดรฟ์ที่แชร์ ผู้ใช้ต้องมี
role=organizerเฉพาะ ผู้ใช้และกลุ่มเท่านั้นที่จะเป็นสมาชิกของไดรฟ์ที่แชร์ได้
ใช้พารามิเตอร์ฟิลด์
หากต้องการระบุช่องที่จะแสดงผลในการตอบกลับ คุณสามารถตั้งค่า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โดยใช้พารามิเตอร์fileIdpath สำหรับไฟล์หรือโฟลเดอร์ที่เชื่อมโยง - ในเนื้อหาคำขอ ให้ระบุ
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 ให้ไปที่เมนู > ไดเรกทอรี > กลุ่มเป้าหมาย
คุณต้องลงชื่อเข้าใช้ด้วยบัญชีที่มีสิทธิ์ของผู้ดูแลระบบขั้นสูงสำหรับงานนี้
ในรายการกลุ่มเป้าหมาย ให้คลิกชื่อกลุ่มเป้าหมาย หากต้องการ สร้างกลุ่มเป้าหมาย โปรดดูสร้างกลุ่มเป้าหมาย
คัดลอกรหัสที่ไม่ซ้ำจาก 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: โทเค็นหน้าเว็บที่ได้รับจากการเรียกใช้ list ก่อนหน้า ระบุโทเค็นนี้ เพื่อดึงข้อมูลหน้าถัดไป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โดยตั้งค่าพารามิเตอร์fileIdpath เป็นไฟล์ โฟลเดอร์ หรือไดรฟ์ที่แชร์ที่เชื่อมโยง และตั้งค่าพารามิเตอร์permissionIdpath เป็นสิทธิ์ที่จะเปลี่ยน หากต้องการค้นหาpermissionIdให้ใช้วิธีlistในแหล่งข้อมูลpermissionsที่มีพารามิเตอร์เส้นทางfileIdระบุ
roleใหม่ในคำขอ
คุณสามารถให้สิทธิ์ในไฟล์หรือโฟลเดอร์แต่ละรายการในไดรฟ์ที่แชร์ได้ แม้ว่าผู้ใช้หรือกลุ่มจะเป็นสมาชิกอยู่แล้วก็ตาม
เช่น อเล็กซ์มี role=commenter
เป็นส่วนหนึ่งของการเป็นสมาชิกไดรฟ์ที่แชร์ อย่างไรก็ตาม แอปของคุณสามารถให้สิทธิ์ Alex
role=writer สำหรับไฟล์ในไดรฟ์ที่แชร์ได้ ในกรณีนี้ เนื่องจากบทบาทใหม่
มีสิทธิ์มากกว่าบทบาทที่ได้รับผ่านการเป็นสมาชิก สิทธิ์ใหม่
จึงกลายเป็นบทบาทที่มีผลสำหรับไฟล์หรือโฟลเดอร์
คุณใช้การอัปเดตผ่านความหมายของแพตช์ได้ ซึ่งหมายความว่าคุณสามารถแก้ไขทรัพยากรบางส่วนได้ คุณต้องตั้งค่าฟิลด์ที่ต้องการ แก้ไขในคำขออย่างชัดเจน ฟิลด์ที่ไม่ได้รวมไว้ในคำขอจะยังคงมีค่าเดิม ดูข้อมูลเพิ่มเติมได้ที่การทำงานกับทรัพยากรบางส่วน
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเปลี่ยนสิทธิ์ในไฟล์หรือโฟลเดอร์จาก 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เท่านั้นที่มีสิทธิ์เข้าถึงโฟลเดอร์แบบมีวันหมดอายุ
ดูข้อมูลเพิ่มเติมเกี่ยวกับวันที่หมดอายุได้ที่บทความต่อไปนี้
- วิธีการทำงานของลิงก์ไฟล์และการควบคุมการเข้าถึง
- กำหนดวันที่หมดอายุสำหรับการเข้าถึงไฟล์
- ระบุวันที่หมดอายุ
หัวข้อที่เกี่ยวข้อง
- จัดการข้อเสนอการเข้าถึงที่รอดำเนินการ
- จัดการโฟลเดอร์ที่มีสิทธิ์เข้าถึงแบบจำกัดและแบบขยาย
- โอนการเป็นเจ้าของไฟล์
- ปกป้องเนื้อหาในไฟล์
- เข้าถึงไฟล์ในไดรฟ์ที่แชร์ซึ่งแชร์ผ่านลิงก์โดยใช้คีย์ทรัพยากร
- บทบาทและสิทธิ์