หน้านี้อธิบายกิจกรรมใน Google ไดรฟ์ที่แอปของคุณสมัครรับข้อมูลได้โดยใช้ Google Workspace Events API หลังจากตัดสินใจเลือกประเภทเหตุการณ์ที่ต้องการแล้ว ให้สร้างการสมัครใช้บริการเพื่อเริ่มรับเหตุการณ์จากไดรฟ์
ดูข้อมูลเพิ่มเติมเกี่ยวกับการพัฒนาแอปสำหรับไดรฟ์ได้ที่ ภาพรวมของ Google Drive API
เหตุการณ์ในไดรฟ์ที่รองรับ
การสมัครใช้บริการ Google Workspace ช่วยให้คุณรับเหตุการณ์เกี่ยวกับการเปลี่ยนแปลงประเภทต่อไปนี้ในไดรฟ์ได้
- ไฟล์คือ
- เพิ่มลงในโฟลเดอร์หรือไดรฟ์ที่แชร์
- ย้ายไปยังโฟลเดอร์หรือไดรฟ์ที่แชร์
- อัปโหลดการแก้ไขหรือการแก้ไขใหม่
- ถูกทิ้งหรือนำออกจากถังขยะ
 
- มีการสร้างหรือแก้ไขคำขอเข้าถึง ในไฟล์
ทรัพยากรที่คุณตรวจสอบหาเหตุการณ์ได้
หากต้องการรับเหตุการณ์ คุณต้องระบุทรัพยากรไดรฟ์ที่จะตรวจสอบ ซึ่งเรียกว่าทรัพยากรเป้าหมายของการสมัครใช้บริการ
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 ที่มีการเปลี่ยนแปลง เช่น หากคุณสมัครรับข้อมูลเหตุการณ์ของไฟล์ เพย์โหลดสำหรับเหตุการณ์เหล่านี้จะมีข้อมูลเกี่ยวกับทรัพยากร 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