Google Drive इवेंट की सदस्यता लेना

इस पेज पर, Google Drive के उन इवेंट के बारे में बताया गया है जिनकी सदस्यता आपका ऐप्लिकेशन, Google Workspace Events API का इस्तेमाल करके ले सकता है. आपको किस तरह के इवेंट चाहिए, यह तय करने के बाद, Drive से इवेंट पाने के लिए सदस्यता बनाएं.

Drive के लिए ऐप्लिकेशन बनाने के बारे में ज़्यादा जानने के लिए, Google Drive API की खास जानकारी देखें.

Drive के साथ काम करने वाले इवेंट

Google Workspace की सदस्यताओं की मदद से, आपको Drive में होने वाले इन बदलावों के बारे में सूचनाएं मिल सकती हैं:

  • फ़ाइल:
    • फ़ोल्डर या शेयर की गई ड्राइव में जोड़ा गया हो.
    • फ़ाइल को किसी फ़ोल्डर या शेयर की गई ड्राइव में ले जाया गया हो.
    • बदलाव किया गया हो या नया वर्शन अपलोड किया गया हो.
    • ट्रैश में डाला गया या ट्रैश से हटाया गया.
  • किसी फ़ाइल के लिए ऐक्सेस का प्रस्ताव बनाया गया हो या उसे स्वीकार कर लिया गया हो.

ऐसे रिसॉर्स जिनकी निगरानी इवेंट के लिए की जा सकती है

इवेंट पाने के लिए, आपको निगरानी करने के लिए Drive का कोई रिसॉर्स तय करना होता है. इसे सदस्यता का टारगेट रिसॉर्स कहा जाता है.

Google Workspace Events API, Drive के लिए इन टारगेट संसाधनों के साथ काम करता है:

टारगेट किया गया संसाधन फ़ॉर्मैट सीमाएं (अगर लागू हों)
फ़ाइल //googleapis.com/drive/v3/files/FILE

यहां FILE, Drive API files रिसॉर्स के संसाधन के नाम में मौजूद आईडी है. फ़ाइल के यूआरएल से या files.list तरीके का इस्तेमाल करके, आईडी पाया जा सकता है.

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

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

इसमें संसाधन का डेटा शामिल होता है
{
  "fileCreatedEvent": {
    "file": {
      "id": "FILE_ID",
      "parent": "PARENT_ID",
      "version": "63",
      "mimeType": "application/vnd.google-apps.document"
    }
  }
}
      
इसमें संसाधन का डेटा शामिल नहीं होता
{
  "fileCreatedEvent": {
    "file": {
      "id": "FILE_ID"
    }
  }
}
      

कोई उपयोगकर्ता किसी फ़ाइल को फ़ोल्डर या शेयर की गई ड्राइव में ले जाता है.

google.workspace.drive.file.v3.moved

इसमें संसाधन का डेटा शामिल होता है
{
  "fileMovedEvent": {
    "file": {
      "id": "FILE_ID",
      "parent": "PARENT_ID",
      "version": "63",
      "mimeType": "application/vnd.google-apps.document"
    }
  }
}
      
इसमें संसाधन का डेटा शामिल नहीं होता
{
  "fileMovedEvent": {
    "file": {
      "id": "FILE_ID"
    }
  }
}
      

कोई उपयोगकर्ता किसी फ़ाइल में बदलाव करता है या नया वर्शन अपलोड करता है.

google.workspace.drive.file.v3.contentChanged

इसमें संसाधन का डेटा शामिल होता है
{
  "fileContentChangedEvent": {
    "file": {
      "id": "FILE_ID",
      "parent": "PARENT_ID",
      "version": "63",
      "mimeType": "application/vnd.google-apps.document"
    }
  }
}
      
इसमें संसाधन का डेटा शामिल नहीं होता
{
  "fileContentChangedEvent": {
    "file": {
      "id": "FILE_ID"
    }
  }
}
      

कोई उपयोगकर्ता कोई फ़ाइल मिटाता है.

google.workspace.drive.file.v3.deleted

इसमें संसाधन का डेटा शामिल होता है
{
  "fileDeletedEvent": {
    "file": {
      "id": "FILE_ID",
      "parent": "PARENT_ID",
      "version": "63",
      "mimeType": "application/vnd.google-apps.document"
    }
  }
}
      
इसमें संसाधन का डेटा शामिल नहीं होता
{
  "fileDeletedEvent": {
    "file": {
      "id": "FILE_ID"
    }
  }
}
      

कोई उपयोगकर्ता किसी फ़ाइल को ट्रैश में डालता है.

google.workspace.drive.file.v3.trashed

इसमें संसाधन का डेटा शामिल होता है
{
  "fileTrashedEvent": {
    "file": {
      "id": "FILE_ID",
      "parent": "PARENT_ID",
      "version": "63",
      "mimeType": "application/vnd.google-apps.document"
    }
  }
}
      
इसमें संसाधन का डेटा शामिल नहीं होता
{
  "fileTrashedEvent": {
    "file": {
      "id": "FILE_ID"
    }
  }
}
      

कोई उपयोगकर्ता, ट्रैश से किसी फ़ाइल को वापस लाता है.

google.workspace.drive.file.v3.untrashed

इसमें संसाधन का डेटा शामिल होता है
{
  "fileUntrashedEvent": {
    "file": {
      "id": "FILE_ID",
      "parent": "PARENT_ID",
      "version": "63",
      "mimeType": "application/vnd.google-apps.document"
    }
  }
}
      
इसमें संसाधन का डेटा शामिल नहीं होता
{
  "fileUntrashedEvent": {
    "file": {
      "id": "FILE_ID"
    }
  }
}
      

कोई उपयोगकर्ता, किसी फ़ाइल का ऐक्सेस पाने का अनुरोध करता है.

google.workspace.drive.accessproposal.v3.created

इसमें संसाधन का डेटा शामिल होता है
{
  "accessProposalCreatedEvent": {
    "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"
          }
        ]
      }
    ]
  }
}
      
इसमें संसाधन का डेटा शामिल नहीं होता
{
  "accessProposalCreatedEvent": {
    "accessProposal": [
      {
        "proposalId": "PROPOSAL_ID"
      }
    ]
  }
}
      

कोई उपयोगकर्ता, फ़ाइल के ऐक्सेस के प्रस्ताव को स्वीकार या अस्वीकार करता है.

google.workspace.drive.accessProposal.v3.resolved

इसमें संसाधन का डेटा शामिल होता है
{
  "accessProposalResolvedEvent": {
    "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"
          }
        ]
      }
    ]
  }
}
      
इसमें संसाधन का डेटा शामिल नहीं होता
{
  "accessProposalResolvedEvent": {
    "accessProposal": [
      {
        "proposalId": "PROPOSAL_ID"
      }
    ]
  }
}
      

सीमाएं

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