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, Drive API files संसाधन के संसाधन नाम में मौजूद आईडी है. आईडी को फ़ाइल के यूआरएल से या files.list तरीके का इस्तेमाल करके पाया जा सकता है.

सदस्यता को अनुमति देने वाले उपयोगकर्ता के पास, सदस्यता से जुड़ी फ़ाइल पर अनुमति होनी चाहिए. यह अनुमति, सदस्यता लेने के इवेंट के हिसाब से होनी चाहिए.
शेयर की गई ड्राइव //drive.googleapis.com/drives/DRIVE

यहां DRIVE, Drive API drives संसाधन के संसाधन नाम में मौजूद आईडी है. आपको आईडी, Drive के यूआरएल से मिल सकता है. इसके अलावा, 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.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

इवेंट का डेटा

इस सेक्शन में, Drive में मौजूद इवेंट के लिए इवेंट डेटा और सैंपल पेलोड के बारे में बताया गया है.

जब आपकी Google Workspace सदस्यता को Drive से कोई इवेंट मिलता है, तो data फ़ील्ड में इवेंट का पेलोड होता है. इस पेलोड में, Google Workspace के उस संसाधन के बारे में जानकारी होती है जिसमें बदलाव हुआ है. उदाहरण के लिए, अगर आपने फ़ाइल इवेंट की सदस्यता ली है, तो इन इवेंट के पेलोड में उस file संसाधन के बारे में जानकारी होती है जिसमें बदलाव किया गया है.

इवेंट पेलोड में मौजूद रिसॉर्स डेटा

सदस्यता बनाते समय, यह तय किया जा सकता है कि पेलोड में संसाधन के बारे में जानकारी शामिल करनी है या सिर्फ़ संसाधन का नाम. उदाहरण के लिए, अगर आपको Drive में मौजूद फ़ाइलों से जुड़े इवेंट की सूचनाएं चाहिए, तो यह तय किया जा सकता है कि आपको इवेंट के पेलोड में files रिसोर्स के कौनसे फ़ील्ड चाहिए.

यहां दी गई टेबल में, Drive संसाधन की सदस्यता के लिए JSON पेलोड के उदाहरण दिए गए हैं. फ़ाइल आईडी में अक्षर, संख्याएं, और कुछ खास वर्ण होते हैं. इन्हें 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"
      }
    ]
}
      

सीमाएं

  • जब DriveOptions में मौजूद includeDescendants बूलियन फ़ील्ड true होता है, तब शेयर की गई ड्राइव और फ़ोल्डर पर Drive की सदस्यताएं हमेशा एक इवेंट भेजती हैं. भले ही, इवेंट को ट्रिगर करने वाली फ़ाइल, Drive की सदस्यता के लिए इस्तेमाल किए गए फ़ोल्डर के नीचे कई लेयर में नेस्ट की गई हो.
  • ऐसा हो सकता है कि आपने किसी फ़ोल्डर की सदस्यता ली हो, लेकिन आपको फ़ाइल हैरारकी में मौजूद सभी इवेंट न मिलें. ऐसा इसलिए हो सकता है, क्योंकि उपयोगकर्ता या ऐप्लिकेशन को उनका ऐक्सेस न दिया गया हो. इस मामले में, सदस्यता चालू रहती है. हालांकि, आपको उन संसाधनों के लिए कोई इवेंट नहीं मिलेगा जिनका आपके पास ऐक्सेस नहीं है.
  • सभी फ़ाइलों और फ़ोल्डर में मौजूद इवेंट के लिए सूचनाएं पाने की सुविधा उपलब्ध है. हालांकि, शेयर की गई ड्राइव के रूट फ़ोल्डर में मौजूद इवेंट के लिए यह सुविधा उपलब्ध नहीं है. सदस्यता लेने की सुविधा, सिर्फ़ शेयर की गई ड्राइव में मौजूद फ़ाइलों और फ़ोल्डर के लिए उपलब्ध है. शेयर की गई ड्राइव के रूट फ़ोल्डर में सीधे तौर पर किए गए बदलावों से इवेंट ट्रिगर नहीं होंगे.
  • सदस्यता को अनुमति देने वाले उपयोगकर्ता के पास, उन इवेंट से जुड़ी फ़ाइल की अनुमति होनी चाहिए जिनकी सदस्यता ली गई है.
  • सदस्यता को सिर्फ़ उन संसाधनों के इवेंट मिलते हैं जिन्हें उपयोगकर्ता अपने Google Workspace खाते या Google खाते से ऐक्सेस कर सकता है.