หน้านี้อธิบายกิจกรรมใน Google ไดรฟ์ที่แอปของคุณสมัครรับข้อมูลได้โดยใช้ Google Workspace Events API หลังจากตัดสินใจเลือกประเภทเหตุการณ์ที่ต้องการแล้ว ให้สร้างการสมัครใช้บริการเพื่อเริ่มรับเหตุการณ์จากไดรฟ์
ดูข้อมูลเพิ่มเติมเกี่ยวกับการพัฒนาแอปสำหรับไดรฟ์ได้ที่ ภาพรวมของ Google Drive API
เหตุการณ์ในไดรฟ์ที่รองรับ
การสมัครใช้บริการ Google Workspace ช่วยให้คุณรับเหตุการณ์เกี่ยวกับการเปลี่ยนแปลงประเภทต่อไปนี้ในไดรฟ์ได้
- ไฟล์คือ
- เพิ่มลงในโฟลเดอร์หรือไดรฟ์ที่แชร์
- ย้ายไปยังโฟลเดอร์หรือไดรฟ์ที่แชร์
- อัปโหลดการแก้ไขหรือการแก้ไขใหม่
- ถูกทิ้งหรือนำออกจากถังขยะ
- มีการสร้างหรือแก้ไขคำขอเข้าถึง ในไฟล์
ทรัพยากรที่คุณตรวจสอบหาเหตุการณ์ได้
หากต้องการรับเหตุการณ์ คุณต้องระบุทรัพยากรไดรฟ์ที่จะตรวจสอบ ซึ่งเรียกว่าทรัพยากรเป้าหมายของการสมัครใช้บริการ
API เหตุการณ์ของ Google Workspace รองรับทรัพยากรเป้าหมายต่อไปนี้สำหรับ ไดรฟ์
ทรัพยากรเป้าหมาย | รูปแบบ | ข้อจำกัด (หากมี) |
---|---|---|
ไฟล์ | //googleapis.com/drive/v3/files/FILE
โดย FILE คือรหัสใน
ชื่อทรัพยากรของทรัพยากร |
ผู้ใช้ที่ให้สิทธิ์การติดตามต้องมีสิทธิ์ในไฟล์ภายใน การติดตามที่เกี่ยวข้องกับการติดตามเหตุการณ์ |
ไดรฟ์ที่แชร์ | //googleapis.com/drive/v3/drives/DRIVE
โดย DRIVE คือรหัสใน
ชื่อทรัพยากรของทรัพยากร |
การสมัครใช้บริการจะรับเฉพาะเหตุการณ์สำหรับรายการในไดรฟ์ที่แชร์ซึ่งผู้ใช้เป็นสมาชิกผ่านบัญชี Google Workspace หรือบัญชี Google |
ประเภทเหตุการณ์สำหรับการสร้างการสมัครใช้บริการ
เมื่อสร้างการสมัครใช้ทรัพยากรในไดรฟ์ คุณจะใช้ฟิลด์
eventTypes[]
เพื่อระบุประเภทเหตุการณ์ที่ต้องการรับ ประเภทเหตุการณ์จะ
จัดรูปแบบตามข้อกำหนดของ CloudEvents
เช่น
google.workspace.APPLICATION.RESOURCE.VERSION.ACTION
เช่น หากต้องการรับเหตุการณ์เกี่ยวกับการสร้างไฟล์ในโฟลเดอร์หรือไดรฟ์ที่แชร์
คุณต้องระบุไฟล์เป็นทรัพยากรเป้าหมาย และระบุประเภทเหตุการณ์เป็น
google.workspace.drive.file.v3.created
หากต้องการรับเหตุการณ์เกี่ยวกับการสร้างคำขอเข้าถึงในไฟล์ ให้ระบุคำขอเข้าถึงเป็นทรัพยากรเป้าหมาย และระบุประเภทเหตุการณ์เป็น google.workspace.drive.accessproposal.v3.created
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธี
การทำงานของเหตุการณ์ได้ที่โครงสร้างของเหตุการณ์
ใน Google Workspace
ตารางต่อไปนี้แสดงประเภทเหตุการณ์ที่รองรับสำหรับการสมัครใช้บริการ ทรัพยากรในไดรฟ์
ประเภทกิจกรรม | รูปแบบ | ข้อมูลทรัพยากร | ||
---|---|---|---|---|
การติดตามไฟล์ | ||||
มีการเพิ่มไฟล์ลงในโฟลเดอร์หรือไดรฟ์ที่แชร์ |
|
|
||
ระบบจะย้ายไฟล์ไปยังโฟลเดอร์หรือไดรฟ์ที่แชร์ |
|
|
||
มีการแก้ไขไฟล์หรืออัปโหลดการแก้ไขใหม่ |
|
|
||
ลบไฟล์ |
|
|
||
ทิ้งไฟล์แล้ว |
|
|
||
นำไฟล์ออกจากถังขยะ |
|
|
||
มีการสร้างข้อเสนอการเข้าถึงในไฟล์ |
|
|
||
มีการแก้ไขข้อเสนอการเข้าถึงในไฟล์ |
|
|
||
การติดตามไดรฟ์ที่แชร์ | ||||
มีการเพิ่มไฟล์ลงในโฟลเดอร์หรือไดรฟ์ที่แชร์ |
|
|
||
ระบบจะย้ายไฟล์ไปยังโฟลเดอร์หรือไดรฟ์ที่แชร์ |
|
|
||
มีการแก้ไขไฟล์หรืออัปโหลดการแก้ไขใหม่ |
|
|
||
ลบไฟล์ |
|
|
||
ทิ้งไฟล์แล้ว |
|
|
||
นำไฟล์ออกจากถังขยะ |
|
|
||
มีการสร้างข้อเสนอการเข้าถึงในไฟล์ |
|
|
||
มีการแก้ไขข้อเสนอการเข้าถึงในไฟล์ |
|
|
ข้อมูลเหตุการณ์
ส่วนนี้อธิบายข้อมูลเหตุการณ์และเพย์โหลดตัวอย่างสำหรับเหตุการณ์ในไดรฟ์
เมื่อการสมัครใช้บริการ Google Workspace ได้รับเหตุการณ์จาก
ไดรฟ์ ฟิลด์
data
จะมีเพย์โหลดสำหรับเหตุการณ์ เพย์โหลดนี้มีข้อมูลเกี่ยวกับ
ทรัพยากร Google Workspace ที่มีการเปลี่ยนแปลง เช่น หากคุณสมัครรับข้อมูลเหตุการณ์ของไฟล์ เพย์โหลดสำหรับเหตุการณ์เหล่านี้จะมีข้อมูลเกี่ยวกับทรัพยากร file
ที่เปลี่ยนแปลง
ข้อมูลทรัพยากรในเพย์โหลดของเหตุการณ์
เมื่อสร้างการสมัครใช้บริการ คุณจะระบุได้ว่าต้องการให้เพย์โหลด
มีรายละเอียดเกี่ยวกับทรัพยากรหรือเพียงชื่อของทรัพยากร ตัวอย่างเช่น หากต้องการรับเหตุการณ์เกี่ยวกับไฟล์ในไดรฟ์ คุณสามารถระบุฟิลด์ของทรัพยากร files
ที่ต้องการรับในเพย์โหลดของเหตุการณ์ได้
ตารางต่อไปนี้แสดงตัวอย่างเพย์โหลด JSON สำหรับการสมัครใช้ทรัพยากร Drive
รหัสไฟล์ประกอบด้วยตัวอักษร ตัวเลข และ
อักขระพิเศษบางตัวที่มีโครงสร้างเป็น files/^[01][0-9a-zA-Z_-]+$/
เช่น files/1aaabbbAAABBB111222-_
สำหรับแต่ละเหตุการณ์ที่การสมัครรับข้อมูลได้รับ เพย์โหลดจะปรากฏในฟิลด์ data
ของเหตุการณ์
ตัวอย่าง | ประเภทกิจกรรม | เพย์โหลด JSON |
---|---|---|
ผู้ใช้เพิ่มไฟล์ลงในโฟลเดอร์หรือไดรฟ์ที่แชร์ |
|
รวมข้อมูลทรัพยากร
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } ไม่รวมข้อมูลทรัพยากร
{ "file": { "id": "FILE_ID" } } |
ผู้ใช้ย้ายไฟล์ไปยังโฟลเดอร์หรือไดรฟ์ที่แชร์ |
|
รวมข้อมูลทรัพยากร
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } ไม่รวมข้อมูลทรัพยากร
{ "file": { "id": "FILE_ID" } } |
ผู้ใช้แก้ไขไฟล์หรือมีการอัปโหลดการแก้ไขใหม่ |
|
รวมข้อมูลทรัพยากร
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } ไม่รวมข้อมูลทรัพยากร
{ "file": { "id": "FILE_ID" } } |
ผู้ใช้ลบไฟล์ |
|
รวมข้อมูลทรัพยากร
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } ไม่รวมข้อมูลทรัพยากร
{ "file": { "id": "FILE_ID" } } |
ผู้ใช้ทิ้งไฟล์ในถังขยะ |
|
รวมข้อมูลทรัพยากร
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } ไม่รวมข้อมูลทรัพยากร
{ "file": { "id": "FILE_ID" } } |
ผู้ใช้กู้คืนไฟล์จากถังขยะ |
|
รวมข้อมูลทรัพยากร
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } ไม่รวมข้อมูลทรัพยากร
{ "file": { "id": "FILE_ID" } } |
ผู้ใช้สร้างข้อเสนอการเข้าถึงในไฟล์ |
|
รวมข้อมูลทรัพยากร
{ "accessProposal": [ { "file_id": "FILE_ID", "proposalId": "PROPOSAL_ID", "recipientEmailAddress": "63", "requesterEmailAddress": "application/vnd.google-apps.document", "requestMessage": "grant me access to this file", "rolesAndViews": [ { "role": "writer", "view": "published" } ] } ] } ไม่รวมข้อมูลทรัพยากร
{ "accessProposal": [ { "proposalId": "PROPOSAL_ID" } ] } |
ผู้ใช้แก้ไขข้อเสนอการเข้าถึงในไฟล์ |
|
รวมข้อมูลทรัพยากร
{ "accessProposal": [ { "file_id": "FILE_ID", "proposalId": "PROPOSAL_ID", "recipientEmailAddress": "63", "requesterEmailAddress": "application/vnd.google-apps.document", "requestMessage": "resolve access to this file", "rolesAndViews": [ { "role": "writer", "view": "published" } ] } ] } ไม่รวมข้อมูลทรัพยากร
{ "accessProposal": [ { "proposalId": "PROPOSAL_ID" } ] } |
ข้อจำกัด
- เมื่อฟิลด์บูลีน
includeDescendants
ในDriveOptions
เป็นtrue
การติดตามไดรฟ์ในไดรฟ์ที่แชร์และโฟลเดอร์ จะส่งเหตุการณ์เสมอ แม้ว่าไฟล์ที่ทริกเกอร์เหตุการณ์จะซ้อนอยู่หลายชั้นใต้ โฟลเดอร์ที่ใช้สำหรับการติดตามไดรฟ์ก็ตาม - แม้ว่าคุณจะสร้างการติดตามในโฟลเดอร์ แต่คุณอาจไม่ได้รับเหตุการณ์ทั้งหมด ภายในลำดับชั้นของไฟล์ เนื่องจากผู้ใช้หรือแอปพลิเคชันอาจไม่ได้รับสิทธิ์เข้าถึง ในกรณีนี้ การสมัครใช้บริการจะยังคงใช้งานได้ แต่คุณจะไม่ได้รับเหตุการณ์ใดๆ สำหรับทรัพยากรที่คุณไม่มีสิทธิ์เข้าถึง
- ระบบรองรับการติดตามกิจกรรมในไฟล์และโฟลเดอร์ทั้งหมด แต่ไม่รองรับในโฟลเดอร์รูทของ ไดรฟ์ที่แชร์ ระบบรองรับการติดตามเฉพาะไฟล์และโฟลเดอร์ภายในไดรฟ์ที่แชร์เท่านั้น การเปลี่ยนแปลงที่ทำกับโฟลเดอร์รูทของไดรฟ์ที่แชร์โดยตรงจะไม่ทริกเกอร์เหตุการณ์
- ผู้ใช้ที่ให้สิทธิ์การสมัครใช้บริการต้องมีสิทธิ์ในไฟล์ที่สอดคล้องกับ เหตุการณ์ที่สมัครใช้บริการ
- การสมัครใช้บริการจะรับเฉพาะเหตุการณ์สำหรับทรัพยากรที่ผู้ใช้มีสิทธิ์เข้าถึงผ่าน บัญชี Google Workspace หรือบัญชี Google