הרשמה לאירועים ב-Google Drive

בדף הזה מוסבר על האירועים ב-Google Drive שאפשר להירשם אליהם באפליקציה באמצעות Google Workspace Events API. אחרי שמחליטים אילו סוגי אירועים רוצים לקבל, יוצרים מינוי כדי להתחיל לקבל אירועים מ-Drive.

מידע נוסף על פיתוח אפליקציות ל-Drive זמין ב סקירה הכללית על Google Drive API.

אירועים נתמכים ב-Drive

מינויים ל-Google Workspace מאפשרים לכם לקבל אירועים לגבי סוגי השינויים הבאים ב-Drive:

  • נוצרת הצעה לגישה או שהיא נפתרת בקובץ.

  • תגובה נוצרת, נערכת, נסגרת, נפתחת מחדש או נמחקת בקובץ או בקובץ בתוך אחסון שיתופי.

  • קובץ הוא:

    • נוספו לתיקייה או לאחסון שיתופי.
    • הועבר לתיקייה או לאחסון שיתופי.
    • הועלתה גרסה חדשה או גרסה שנערכה.
    • הועברו לאשפה או הוסרו מהאשפה.
    • שונה שם (השם של קובץ או תיקייה השתנה).
  • תגובה נוצרת, נערכת או נמחקת בשרשור תגובות בקובץ או בקובץ באחסון שיתופי.

משאבים שאפשר לעקוב אחרי אירועים שקשורים אליהם

כדי לקבל אירועים, צריך לציין משאב ב-Drive למעקב, שנקרא משאב היעד של המינוי.

‫Google Workspace Events API תומך במשאבי היעד הבאים ב-Drive:

משאב היעד אופן הלימוד מגבלות (אם רלוונטי)
קובץ //drive.googleapis.com/files/FILE

כאשר FILE הוא המזהה ב שם המשאב של משאב files ב-Drive API. אפשר לאתר אותו בכתובת ה-URL של הקובץ או באמצעות ה-method‏ files.list.

למשתמש שמאשר את המינוי צריכה להיות הרשאה בקובץ במסגרת המינוי ביחס לאירוע ההרשמה.
אחסון שיתופי //drive.googleapis.com/drives/DRIVE

כאשר DRIVE הוא המזהה ב שם המשאב של משאב drives ב-Drive API. אפשר לאתר את המזהה בכתובת ה-URL של Drive או באמצעות ה-method‏ drives.list.

המנוי מקבל רק אירועים שקשורים לפריטים בתיקייה המשותפת שבה המשתמש הוא חבר דרך חשבון Google Workspace או חשבון Google.

סוגי אירועים ליצירת מינויים

כשיוצרים מינוי למשאב ב-Drive, משתמשים בשדה eventTypes[] כדי לציין אילו סוגי אירועים רוצים לקבל. סוגי האירועים מעוצבים בהתאם למפרט CloudEvents, כמו google.workspace.APPLICATION.RESOURCE.VERSION.ACTION.

לדוגמה, כדי לקבל אירועים לגבי קובץ שנוצר בתיקייה או בכונן משותף, צריך לציין את הקובץ כמשאב היעד ואת סוג האירוע כ-google.workspace.drive.file.v3.created. כדי לקבל אירועים לגבי יצירת הצעה לגישה לקובץ, צריך לציין את ההצעה לגישה כמשאב היעד ואת סוג האירוע כ-google.workspace.drive.accessproposal.v3.created. מידע נוסף על אופן הפעולה של אירועים זמין במאמר מבנה האירועים ב-Google Workspace.

בטבלה הבאה מוצגים סוגי האירועים שנתמכים במינויים למשאבי Drive:

סוג האירוע אופן הלימוד נתוני משאבים
הרשמה לעדכונים על קבצים ותיקיות באחסון השיתופי  
נוצרת הצעה לגישה לקובץ.

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

נתוני אירוע

בקטע הזה מתוארים נתוני אירועים ומטענים לדוגמה של אירועים ב-Drive.

כשמינוי Google Workspace מקבל אירוע מ-Drive, השדה data מכיל את מטען הייעודי (payload) של האירוע. מטען הנתונים הזה מכיל מידע על משאב Google Workspace שהשתנה. לדוגמה, אם נרשמתם לאירועים שקשורים לקבצים, מטען הנתונים של האירועים האלה מכיל מידע על משאב files שהשתנה.

נתוני משאבים במטען הייעודי של האירוע

כשיוצרים מינוי, אפשר לציין אם רוצים שהמטען הייעודי (Payload) יכלול פרטים על המשאב, או רק את השם של המשאב. לדוגמה, אם רוצים לקבל אירועים לגבי קבצים ב-Drive, אפשר לציין אילו שדות של files משאב רוצים לקבל במטען הייעודי (payload) של האירוע.

בטבלה הבאה מופיעות דוגמאות למטענים ייעודיים (payloads) של JSON להרשמה למשאב Drive. מזהה הקובץ מכיל אותיות, מספרים ותווים מיוחדים מסוימים במבנה files/^[01][0-9a-zA-Z_-]+$/. לדוגמה, files/1aaabbbAAABBB111222-_. לכל אירוע שהמינוי מקבל, מטען הייעודי (payload) מופיע בשדה data של האירוע:

דוגמה סוג האירוע מטען ייעודי (payload) של 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, מינויים ל-Drive בתיקיות ובתיקיות אחסון שיתופי תמיד שולחים אירוע, גם אם הקובץ שהפעיל את האירוע נמצא ברמה נמוכה יותר בתיקייה שמשמשת למינוי ל-Drive.
  • יכול להיות שיצרתם מינוי לתיקייה, אבל לא תקבלו את כל האירועים בהיררכיית הקבצים כי יכול להיות שלא ניתנה למשתמש או לאפליקציה גישה אליהם. במקרה כזה, המינוי נשאר פעיל אבל לא תקבלו אירועים לגבי משאבים שאין לכם גישה אליהם.
  • המנויים נתמכים לאירועים בכל הקבצים והתיקיות, אבל לא בתיקיית הבסיס של אחסונים שיתופיים. אפשר להירשם לעדכונים רק לגבי קבצים ותיקיות באחסון שיתופי. שינויים שמתבצעים ישירות בתיקיית הבסיס של האחסון השיתופי לא יפעילו אירועים.
  • למשתמש שמאשר את המינוי צריכה להיות הרשאה בקובץ שמתאים לאירועים שהוא נרשם לקבל עליהם עדכונים.
  • המינוי מקבל רק אירועים של משאבים שהמשתמש יכול לגשת אליהם דרך חשבון Google Workspace או חשבון Google שלו.