ติดตามกิจกรรมใน Google ไดรฟ์

หน้านี้อธิบายกิจกรรมใน Google ไดรฟ์ที่แอปของคุณสมัครรับข้อมูลได้โดยใช้ Google Workspace Events API หลังจากตัดสินใจเลือกประเภทเหตุการณ์ที่ต้องการแล้ว ให้สร้างการสมัครใช้บริการเพื่อเริ่มรับเหตุการณ์จากไดรฟ์

ดูข้อมูลเพิ่มเติมเกี่ยวกับการพัฒนาแอปสำหรับไดรฟ์ได้ที่ ภาพรวมของ Google Drive API

เหตุการณ์ในไดรฟ์ที่รองรับ

การสมัครใช้บริการ Google Workspace ช่วยให้คุณรับเหตุการณ์เกี่ยวกับการเปลี่ยนแปลงประเภทต่อไปนี้ในไดรฟ์ได้

  • ไฟล์คือ
    • เพิ่มลงในโฟลเดอร์หรือไดรฟ์ที่แชร์
    • ย้ายไปยังโฟลเดอร์หรือไดรฟ์ที่แชร์
    • อัปโหลดการแก้ไขหรือการแก้ไขใหม่
    • ถูกทิ้งหรือนำออกจากถังขยะ
  • มีการสร้างหรือแก้ไขคำขอเข้าถึง ในไฟล์

ทรัพยากรที่คุณตรวจสอบหาเหตุการณ์ได้

หากต้องการรับเหตุการณ์ คุณต้องระบุทรัพยากรไดรฟ์ที่จะตรวจสอบ ซึ่งเรียกว่าทรัพยากรเป้าหมายของการสมัครใช้บริการ

API เหตุการณ์ของ Google Workspace รองรับทรัพยากรเป้าหมายต่อไปนี้สำหรับ ไดรฟ์

ทรัพยากรเป้าหมาย รูปแบบ ข้อจำกัด (หากมี)
ไฟล์ //googleapis.com/drive/v3/files/FILE

โดย FILE คือรหัสใน ชื่อทรัพยากรของทรัพยากร files ใน Drive API คุณสามารถรับ รหัสจาก URL ของไฟล์หรือโดยใช้เมธอด files.list

ผู้ใช้ที่ให้สิทธิ์การติดตามต้องมีสิทธิ์ในไฟล์ภายใน การติดตามที่เกี่ยวข้องกับการติดตามเหตุการณ์
ไดรฟ์ที่แชร์ //googleapis.com/drive/v3/drives/DRIVE

โดย DRIVE คือรหัสใน ชื่อทรัพยากรของทรัพยากร drives ใน Drive API คุณดูรหัสได้จาก URL ของไดรฟ์หรือโดยใช้วิธี drives.list

การสมัครใช้บริการจะรับเฉพาะเหตุการณ์สำหรับรายการในไดรฟ์ที่แชร์ซึ่งผู้ใช้เป็นสมาชิกผ่านบัญชี 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.drive.file.v3.created

file

ระบบจะย้ายไฟล์ไปยังโฟลเดอร์หรือไดรฟ์ที่แชร์

google.workspace.drive.file.v3.moved

file

มีการแก้ไขไฟล์หรืออัปโหลดการแก้ไขใหม่

google.workspace.drive.file.v3.contentChanged

file

ลบไฟล์

google.workspace.drive.file.v3.deleted

file

ทิ้งไฟล์แล้ว

google.workspace.drive.file.v3.trashed

file

นำไฟล์ออกจากถังขยะ

google.workspace.drive.file.v3.untrashed

file

มีการสร้างข้อเสนอการเข้าถึงในไฟล์

google.workspace.drive.accessproposal.v3.created

accessproposal

มีการแก้ไขข้อเสนอการเข้าถึงในไฟล์

google.workspace.drive.accessproposal.v3.resolved

accessproposal

การติดตามไดรฟ์ที่แชร์  
มีการเพิ่มไฟล์ลงในโฟลเดอร์หรือไดรฟ์ที่แชร์

google.workspace.drive.file.v3.created

file

ระบบจะย้ายไฟล์ไปยังโฟลเดอร์หรือไดรฟ์ที่แชร์

google.workspace.drive.file.v3.moved

file

มีการแก้ไขไฟล์หรืออัปโหลดการแก้ไขใหม่

google.workspace.drive.file.v3.contentChanged

file

ลบไฟล์

google.workspace.drive.file.v3.deleted

file

ทิ้งไฟล์แล้ว

google.workspace.drive.file.v3.trashed

file

นำไฟล์ออกจากถังขยะ

google.workspace.drive.file.v3.untrashed

file

มีการสร้างข้อเสนอการเข้าถึงในไฟล์

google.workspace.drive.accessproposal.v3.created

accessproposal

มีการแก้ไขข้อเสนอการเข้าถึงในไฟล์

google.workspace.drive.accessproposal.v3.resolved

accessproposal

ข้อมูลเหตุการณ์

ส่วนนี้อธิบายข้อมูลเหตุการณ์และเพย์โหลดตัวอย่างสำหรับเหตุการณ์ในไดรฟ์

เมื่อการสมัครใช้บริการ Google Workspace ได้รับเหตุการณ์จาก ไดรฟ์ ฟิลด์ data จะมีเพย์โหลดสำหรับเหตุการณ์ เพย์โหลดนี้มีข้อมูลเกี่ยวกับ ทรัพยากร Google Workspace ที่มีการเปลี่ยนแปลง เช่น หากคุณสมัครรับข้อมูลเหตุการณ์ของไฟล์ เพย์โหลดสำหรับเหตุการณ์เหล่านี้จะมีข้อมูลเกี่ยวกับทรัพยากร file ที่เปลี่ยนแปลง

ข้อมูลทรัพยากรในเพย์โหลดของเหตุการณ์

เมื่อสร้างการสมัครใช้บริการ คุณจะระบุได้ว่าต้องการให้เพย์โหลด มีรายละเอียดเกี่ยวกับทรัพยากรหรือเพียงชื่อของทรัพยากร ตัวอย่างเช่น หากต้องการรับเหตุการณ์เกี่ยวกับไฟล์ในไดรฟ์ คุณสามารถระบุฟิลด์ของทรัพยากร files ที่ต้องการรับในเพย์โหลดของเหตุการณ์ได้

ตารางต่อไปนี้แสดงตัวอย่างเพย์โหลด JSON สำหรับการสมัครใช้ทรัพยากร Drive รหัสไฟล์ประกอบด้วยตัวอักษร ตัวเลข และ อักขระพิเศษบางตัวที่มีโครงสร้างเป็น files/^[01][0-9a-zA-Z_-]+$/ เช่น files/1aaabbbAAABBB111222-_ สำหรับแต่ละเหตุการณ์ที่การสมัครรับข้อมูลได้รับ เพย์โหลดจะปรากฏในฟิลด์ data ของเหตุการณ์

ตัวอย่าง ประเภทกิจกรรม เพย์โหลด JSON

ผู้ใช้เพิ่มไฟล์ลงในโฟลเดอร์หรือไดรฟ์ที่แชร์

google.workspace.drive.file.v3.created

รวมข้อมูลทรัพยากร
{
    "file": {
      "id": "FILE_ID",
      "parent": "PARENT_ID",
      "version": "63",
      "mimeType": "application/vnd.google-apps.document"
    }
}
      
ไม่รวมข้อมูลทรัพยากร
{
    "file": {
      "id": "FILE_ID"
    }
}
      

ผู้ใช้ย้ายไฟล์ไปยังโฟลเดอร์หรือไดรฟ์ที่แชร์

google.workspace.drive.file.v3.moved

รวมข้อมูลทรัพยากร
{
    "file": {
      "id": "FILE_ID",
      "parent": "PARENT_ID",
      "version": "63",
      "mimeType": "application/vnd.google-apps.document"
    }
}
      
ไม่รวมข้อมูลทรัพยากร
{
    "file": {
      "id": "FILE_ID"
    }
}
      

ผู้ใช้แก้ไขไฟล์หรือมีการอัปโหลดการแก้ไขใหม่

google.workspace.drive.file.v3.contentChanged

รวมข้อมูลทรัพยากร
{
    "file": {
      "id": "FILE_ID",
      "parent": "PARENT_ID",
      "version": "63",
      "mimeType": "application/vnd.google-apps.document"
    }
}
      
ไม่รวมข้อมูลทรัพยากร
{
    "file": {
      "id": "FILE_ID"
    }
}
      

ผู้ใช้ลบไฟล์

google.workspace.drive.file.v3.deleted

รวมข้อมูลทรัพยากร
{
    "file": {
      "id": "FILE_ID",
      "parent": "PARENT_ID",
      "version": "63",
      "mimeType": "application/vnd.google-apps.document"
    }
}
      
ไม่รวมข้อมูลทรัพยากร
{
    "file": {
      "id": "FILE_ID"
    }
}
      

ผู้ใช้ทิ้งไฟล์ในถังขยะ

google.workspace.drive.file.v3.trashed

รวมข้อมูลทรัพยากร
{
    "file": {
      "id": "FILE_ID",
      "parent": "PARENT_ID",
      "version": "63",
      "mimeType": "application/vnd.google-apps.document"
    }
}
      
ไม่รวมข้อมูลทรัพยากร
{
    "file": {
      "id": "FILE_ID"
    }
}
      

ผู้ใช้กู้คืนไฟล์จากถังขยะ

google.workspace.drive.file.v3.untrashed

รวมข้อมูลทรัพยากร
{
    "file": {
      "id": "FILE_ID",
      "parent": "PARENT_ID",
      "version": "63",
      "mimeType": "application/vnd.google-apps.document"
    }
}
      
ไม่รวมข้อมูลทรัพยากร
{
    "file": {
      "id": "FILE_ID"
    }
}
      

ผู้ใช้สร้างข้อเสนอการเข้าถึงในไฟล์

google.workspace.drive.accessproposal.v3.created

รวมข้อมูลทรัพยากร
{
    "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"
      }
    ]
}
      

ผู้ใช้แก้ไขข้อเสนอการเข้าถึงในไฟล์

google.workspace.drive.accessProposal.v3.resolved

รวมข้อมูลทรัพยากร
{
    "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