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

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

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

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

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

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

  • มีการสร้าง ความคิดเห็น แก้ไข แก้ไขแล้ว เปิดอีกครั้ง หรือลบในไฟล์หรือไฟล์ภายในไดรฟ์ที่แชร์

  • ไฟล์คือ

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

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

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

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

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

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

ผู้ใช้ที่ให้สิทธิ์การติดตามต้องมีสิทธิ์ในไฟล์ภายใน การติดตามที่เกี่ยวข้องกับเหตุการณ์การติดตาม
ไดรฟ์ที่แชร์ //drive.googleapis.com/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.accessproposal.v3.created

accessproposal

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

google.workspace.drive.accessproposal.v3.resolved

accessproposal

มีการสร้างความคิดเห็นในไฟล์หรือไฟล์ภายในไดรฟ์ที่แชร์

google.workspace.drive.comment.v3.created

comment

มีการแก้ไขความคิดเห็นในไฟล์หรือไฟล์ภายในไดรฟ์ที่แชร์

google.workspace.drive.comment.v3.edited

comment

ความคิดเห็นในไฟล์หรือไฟล์ภายในไดรฟ์ที่แชร์ได้รับการแก้ไขแล้ว

google.workspace.drive.comment.v3.resolved

comment

มีการเปิดความคิดเห็นในไฟล์หรือไฟล์ภายในไดรฟ์ที่แชร์อีกครั้ง

google.workspace.drive.comment.v3.reopened

comment

ความคิดเห็นในไฟล์หรือไฟล์ภายในไดรฟ์ที่แชร์ถูกลบ

google.workspace.drive.comment.v3.deleted

comment

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

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.file.v3.renamed

file

ระบบจะสร้างคำตอบในชุดข้อความความคิดเห็นในไฟล์หรือไฟล์ภายในไดรฟ์ที่แชร์

google.workspace.drive.reply.v3.created

reply

การแก้ไขคำตอบจะอยู่ในชุดข้อความความคิดเห็นในไฟล์หรือไฟล์ภายในไดรฟ์ที่แชร์

google.workspace.drive.reply.v3.edited

reply

การตอบกลับจะถูกลบในชุดข้อความความคิดเห็นในไฟล์หรือไฟล์ภายในไดรฟ์ที่แชร์

google.workspace.drive.reply.v3.deleted

reply

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

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

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

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

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

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

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

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

google.workspace.drive.accessproposal.v3.created

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

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

google.workspace.drive.accessProposal.v3.resolved

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

ผู้ใช้แสดงความคิดเห็นในไฟล์

google.workspace.drive.comment.v3.created

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

ผู้ใช้แก้ไขความคิดเห็นในไฟล์

google.workspace.drive.comment.v3.edited

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

ผู้ใช้แก้ไขความคิดเห็นในไฟล์

google.workspace.drive.comment.v3.resolved

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

ผู้ใช้เปิดความคิดเห็นในไฟล์อีกครั้ง

google.workspace.drive.comment.v3.reopened

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

ผู้ใช้ลบความคิดเห็นในไฟล์

google.workspace.drive.comment.v3.deleted

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

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

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.file.v3.renamed

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

ผู้ใช้สร้างการตอบกลับความคิดเห็นในชุดข้อความความคิดเห็น

google.workspace.drive.reply.v3.created

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

ผู้ใช้แก้ไขการตอบกลับความคิดเห็นในชุดข้อความความคิดเห็น

google.workspace.drive.reply.v3.edited

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

ผู้ใช้ลบการตอบกลับความคิดเห็นในชุดข้อความของความคิดเห็น

google.workspace.drive.reply.v3.deleted

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