หน้านี้อธิบายกิจกรรมใน Google ไดรฟ์ที่แอปของคุณสมัครรับข้อมูลได้โดยใช้ Google Workspace Events API หลังจากตัดสินใจเลือกประเภทเหตุการณ์ที่ต้องการแล้ว ให้สร้างการสมัครใช้บริการเพื่อเริ่มรับเหตุการณ์จากไดรฟ์
ดูข้อมูลเพิ่มเติมเกี่ยวกับการพัฒนาแอปสำหรับไดรฟ์ได้ที่ ภาพรวมของ Google Drive API
เหตุการณ์ในไดรฟ์ที่รองรับ
การสมัครใช้บริการ Google Workspace ช่วยให้คุณรับเหตุการณ์เกี่ยวกับการเปลี่ยนแปลงประเภทต่อไปนี้ในไดรฟ์ได้
มีการสร้างหรือแก้ไขคำขอเข้าถึง ในไฟล์
มีการสร้าง ความคิดเห็น แก้ไข แก้ไขแล้ว เปิดอีกครั้ง หรือลบในไฟล์หรือไฟล์ภายในไดรฟ์ที่แชร์
ไฟล์คือ
- เพิ่มลงในโฟลเดอร์หรือไดรฟ์ที่แชร์
- ย้ายไปยังโฟลเดอร์หรือไดรฟ์ที่แชร์
- อัปโหลดการแก้ไขหรือการแก้ไขใหม่
- ถูกทิ้งหรือนำออกจากถังขยะ
- เปลี่ยนชื่อ (เปลี่ยนชื่อไฟล์หรือโฟลเดอร์)
ระบบจะสร้าง reply แก้ไข หรือลบในชุดความคิดเห็นในไฟล์หรือไฟล์ภายในไดรฟ์ที่แชร์
ทรัพยากรที่คุณตรวจสอบหาเหตุการณ์ได้
หากต้องการรับเหตุการณ์ คุณต้องระบุทรัพยากรไดรฟ์ที่จะตรวจสอบ ซึ่งเรียกว่าทรัพยากรเป้าหมายของการสมัครใช้บริการ
API เหตุการณ์ของ Google Workspace รองรับทรัพยากรเป้าหมายต่อไปนี้สำหรับ ไดรฟ์
| ทรัพยากรเป้าหมาย | รูปแบบ | ข้อจำกัด (หากมี) |
|---|---|---|
| ไฟล์ |
//drive.googleapis.com/files/FILE
โดย FILE คือรหัสใน
ชื่อทรัพยากร
ของทรัพยากร |
ผู้ใช้ที่ให้สิทธิ์การติดตามต้องมีสิทธิ์ในไฟล์ภายใน การติดตามที่เกี่ยวข้องกับเหตุการณ์การติดตาม |
| ไดรฟ์ที่แชร์ |
//drive.googleapis.com/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 ที่เปลี่ยนแปลง เช่น หากคุณสมัครรับข้อมูล
เหตุการณ์ไฟล์ เพย์โหลดสำหรับเหตุการณ์เหล่านี้จะมีข้อมูลเกี่ยวกับทรัพยากร files ที่เปลี่ยนแปลง
ข้อมูลทรัพยากรในเพย์โหลดของเหตุการณ์
เมื่อสร้างการสมัครใช้บริการ คุณจะระบุได้ว่าต้องการให้เพย์โหลด
มีรายละเอียดเกี่ยวกับทรัพยากรหรือมีเพียงชื่อทรัพยากร ตัวอย่างเช่น หากต้องการรับเหตุการณ์เกี่ยวกับไฟล์ในไดรฟ์ คุณสามารถระบุฟิลด์ของทรัพยากร files ที่ต้องการรับในเพย์โหลดของเหตุการณ์ได้
ตารางต่อไปนี้แสดงตัวอย่างเพย์โหลด JSON สำหรับการสมัครใช้ทรัพยากร Drive
รหัสไฟล์ประกอบด้วยตัวอักษร ตัวเลข และ
อักขระพิเศษบางตัวที่มีโครงสร้างเป็น files/^[01][0-9a-zA-Z_-]+$/ เช่น files/1aaabbbAAABBB111222-_ สำหรับแต่ละเหตุการณ์ที่การสมัครรับข้อมูลได้รับ เพย์โหลดจะปรากฏในฟิลด์ data ของเหตุการณ์
| ตัวอย่าง | ประเภทเหตุการณ์ | เพย์โหลด JSON |
|---|---|---|
ผู้ใช้สร้างข้อเสนอการเข้าถึงในไฟล์ |
|
รวมข้อมูลทรัพยากร
{
"accessProposal": [
{
"file_id": "FILE_ID",
"proposalId": "PROPOSAL_ID",
"recipientEmailAddress": "alex@altostrat.com",
"requesterEmailAddress": "kai@cymbalgroup.com",
"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": "alex@altostrat.com",
"requesterEmailAddress": "kai@cymbalgroup.com",
"requestMessage": "resolve access to this file",
"rolesAndViews": [
{
"role": "writer",
"view": "published"
}
]
}
]
}
ไม่รวมข้อมูลทรัพยากร
{
"accessProposal": [
{
"proposalId": "PROPOSAL_ID"
}
]
}
|
ผู้ใช้แสดงความคิดเห็นในไฟล์ |
|
รวมข้อมูลทรัพยากร
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
ไม่รวมข้อมูลทรัพยากร
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
ผู้ใช้แก้ไขความคิดเห็นในไฟล์ |
|
รวมข้อมูลทรัพยากร
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
ไม่รวมข้อมูลทรัพยากร
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
ผู้ใช้แก้ไขความคิดเห็นในไฟล์ |
|
รวมข้อมูลทรัพยากร
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
ไม่รวมข้อมูลทรัพยากร
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
ผู้ใช้เปิดความคิดเห็นในไฟล์อีกครั้ง |
|
รวมข้อมูลทรัพยากร
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
ไม่รวมข้อมูลทรัพยากร
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
ผู้ใช้ลบความคิดเห็นในไฟล์ |
|
รวมข้อมูลทรัพยากร
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
ไม่รวมข้อมูลทรัพยากร
{
"comment": {
"id": "COMMENT_ID",
"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"
}
}
|
ผู้ใช้กู้คืนไฟล์จากถังขยะ |
|
รวมข้อมูลทรัพยากร
{
"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"
}
}
|
ผู้ใช้สร้างการตอบกลับความคิดเห็นในชุดข้อความความคิดเห็น |
|
รวมข้อมูลทรัพยากร
{
"reply": {
"id": "REPLY_ID",
"comment_id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
ไม่รวมข้อมูลทรัพยากร
{
"reply": {
"id": "REPLY_ID",
"comment_id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
ผู้ใช้แก้ไขการตอบกลับความคิดเห็นในชุดข้อความความคิดเห็น |
|
รวมข้อมูลทรัพยากร
{
"reply": {
"id": "REPLY_ID",
"comment_id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
ไม่รวมข้อมูลทรัพยากร
{
"reply": {
"id": "REPLY_ID",
"comment_id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
ผู้ใช้ลบการตอบกลับความคิดเห็นในชุดข้อความของความคิดเห็น |
|
รวมข้อมูลทรัพยากร
{
"reply": {
"id": "REPLY_ID",
"comment_id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
ไม่รวมข้อมูลทรัพยากร
{
"reply": {
"id": "REPLY_ID",
"comment_id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
ข้อจำกัด
- เมื่อฟิลด์บูลีน
includeDescendantsในDriveOptionsเป็นtrueการติดตามไดรฟ์ในไดรฟ์ที่แชร์และโฟลเดอร์ จะส่งเหตุการณ์เสมอ แม้ว่าไฟล์ที่ทริกเกอร์เหตุการณ์จะซ้อนอยู่หลายชั้นใต้ โฟลเดอร์ที่ใช้สำหรับการติดตามไดรฟ์ - แม้ว่าคุณจะสร้างการติดตามในโฟลเดอร์ แต่คุณอาจไม่ได้รับเหตุการณ์ทั้งหมด ภายในลำดับชั้นของไฟล์ เนื่องจากผู้ใช้หรือแอปพลิเคชันอาจไม่ได้รับสิทธิ์เข้าถึง ในกรณีนี้ การสมัครใช้บริการจะยังคงใช้งานได้ แต่คุณจะไม่ได้รับเหตุการณ์ใดๆ สำหรับทรัพยากรที่คุณไม่มีสิทธิ์เข้าถึง
- ระบบรองรับการติดตามกิจกรรมในไฟล์และโฟลเดอร์ทั้งหมด แต่ไม่รองรับในโฟลเดอร์รูทของ ไดรฟ์ที่แชร์ ระบบรองรับการติดตามเฉพาะไฟล์และโฟลเดอร์ภายในไดรฟ์ที่แชร์เท่านั้น การเปลี่ยนแปลงที่ทำกับโฟลเดอร์รูทของไดรฟ์ที่แชร์โดยตรงจะไม่ทริกเกอร์เหตุการณ์
- ผู้ใช้ที่ให้สิทธิ์การสมัครใช้บริการต้องมีสิทธิ์ในไฟล์ที่สอดคล้องกับ เหตุการณ์ที่สมัครใช้บริการ
- การสมัครใช้บริการจะรับเฉพาะเหตุการณ์สำหรับทรัพยากรที่ผู้ใช้มีสิทธิ์เข้าถึงผ่าน บัญชี Google Workspace หรือบัญชี Google