इस पेज पर, 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 |
सदस्यता को अनुमति देने वाले उपयोगकर्ता के पास, सदस्यता से जुड़ी फ़ाइल पर अनुमति होनी चाहिए. यह अनुमति, सदस्यता लेने के इवेंट के हिसाब से होनी चाहिए. |
शेयर की गई ड्राइव |
//drive.googleapis.com/drives/DRIVE
यहां DRIVE, Drive API |
सदस्यता को सिर्फ़ शेयर की गई ड्राइव में मौजूद उन आइटम के इवेंट मिलते हैं जिनमें उपयोगकर्ता, अपने 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 संसाधनों की सदस्यता के लिए, किस तरह के इवेंट इस्तेमाल किए जा सकते हैं:
इवेंट का टाइप | फ़ॉर्मैट | संसाधन का डेटा | ||
---|---|---|---|---|
फ़ाइलों की सदस्यताएं | ||||
किसी फ़ाइल को फ़ोल्डर या शेयर की गई ड्राइव में जोड़ा जाता है. |
|
|
||
किसी फ़ाइल को किसी फ़ोल्डर या शेयर की गई ड्राइव में ले जाया जाता है. |
|
|
||
किसी फ़ाइल में बदलाव किया गया हो या नया वर्शन अपलोड किया गया हो. |
|
|
||
किसी फ़ाइल को मिटाया गया हो. |
|
|
||
किसी फ़ाइल को ट्रैश में भेजा गया हो. |
|
|
||
किसी फ़ाइल को ट्रैश से हटाया जाता है. |
|
|
||
किसी फ़ाइल पर ऐक्सेस का सुझाव दिया गया हो. |
|
|
||
किसी फ़ाइल पर ऐक्सेस के प्रपोज़ल को स्वीकार कर लिया गया है. |
|
|
||
शेयर की गई ड्राइव की सदस्यताएं | ||||
किसी फ़ाइल को फ़ोल्डर या शेयर की गई ड्राइव में जोड़ा जाता है. |
|
|
||
किसी फ़ाइल को किसी फ़ोल्डर या शेयर की गई ड्राइव में ले जाया जाता है. |
|
|
||
किसी फ़ाइल में बदलाव किया गया हो या नया वर्शन अपलोड किया गया हो. |
|
|
||
किसी फ़ाइल को मिटाया गया हो. |
|
|
||
किसी फ़ाइल को ट्रैश में भेजा गया हो. |
|
|
||
किसी फ़ाइल को ट्रैश से हटाया जाता है. |
|
|
||
किसी फ़ाइल पर ऐक्सेस का सुझाव दिया गया हो. |
|
|
||
किसी फ़ाइल पर ऐक्सेस के प्रपोज़ल को स्वीकार कर लिया गया है. |
|
|
इवेंट का डेटा
इस सेक्शन में, Drive में मौजूद इवेंट के लिए इवेंट डेटा और सैंपल पेलोड के बारे में बताया गया है.
जब आपकी Google Workspace सदस्यता को Drive से कोई इवेंट मिलता है, तो data
फ़ील्ड में इवेंट का पेलोड होता है. इस पेलोड में, Google Workspace के उस संसाधन के बारे में जानकारी होती है जिसमें बदलाव हुआ है. उदाहरण के लिए, अगर आपने फ़ाइल इवेंट की सदस्यता ली है, तो इन इवेंट के पेलोड में उस file
संसाधन के बारे में जानकारी होती है जिसमें बदलाव किया गया है.
इवेंट पेलोड में मौजूद रिसॉर्स डेटा
सदस्यता बनाते समय, यह तय किया जा सकता है कि पेलोड में संसाधन के बारे में जानकारी शामिल करनी है या सिर्फ़ संसाधन का नाम. उदाहरण के लिए, अगर आपको Drive में मौजूद फ़ाइलों से जुड़े इवेंट की सूचनाएं चाहिए, तो यह तय किया जा सकता है कि आपको इवेंट के पेलोड में files
रिसोर्स के कौनसे फ़ील्ड चाहिए.
यहां दी गई टेबल में, Drive संसाधन की सदस्यता के लिए JSON पेलोड के उदाहरण दिए गए हैं. फ़ाइल आईडी में अक्षर, संख्याएं, और कुछ खास वर्ण होते हैं. इन्हें files/^[01][0-9a-zA-Z_-]+$/
के तौर पर व्यवस्थित किया जाता है. उदाहरण के लिए,
files/1aaabbbAAABBB111222-_
. सदस्यता को मिलने वाले हर इवेंट के लिए, पेलोड इवेंट के data
फ़ील्ड में दिखता है:
उदाहरण | इवेंट का टाइप | JSON पेलोड |
---|---|---|
जब कोई उपयोगकर्ता किसी फ़ोल्डर या शेयर की गई ड्राइव में कोई फ़ाइल जोड़ता है. |
|
इसमें संसाधन का डेटा शामिल होता है
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } इसमें संसाधन का डेटा शामिल नहीं होता
{ "file": { "id": "FILE_ID" } } |
जब कोई उपयोगकर्ता किसी फ़ाइल को किसी फ़ोल्डर या शेयर की गई ड्राइव में ले जाता है. |
|
इसमें संसाधन का डेटा शामिल होता है
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } इसमें संसाधन का डेटा शामिल नहीं होता
{ "file": { "id": "FILE_ID" } } |
जब कोई उपयोगकर्ता किसी फ़ाइल में बदलाव करता है या नया वर्शन अपलोड करता है. |
|
इसमें संसाधन का डेटा शामिल होता है
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } इसमें संसाधन का डेटा शामिल नहीं होता
{ "file": { "id": "FILE_ID" } } |
जब कोई उपयोगकर्ता किसी फ़ाइल को मिटाता है. |
|
इसमें संसाधन का डेटा शामिल होता है
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } इसमें संसाधन का डेटा शामिल नहीं होता
{ "file": { "id": "FILE_ID" } } |
जब कोई उपयोगकर्ता किसी फ़ाइल को ट्रैश में डालता है. |
|
इसमें संसाधन का डेटा शामिल होता है
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } इसमें संसाधन का डेटा शामिल नहीं होता
{ "file": { "id": "FILE_ID" } } |
जब कोई उपयोगकर्ता ट्रैश से किसी फ़ाइल को वापस लाता है. |
|
इसमें संसाधन का डेटा शामिल होता है
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } इसमें संसाधन का डेटा शामिल नहीं होता
{ "file": { "id": "FILE_ID" } } |
कोई उपयोगकर्ता किसी फ़ाइल पर ऐक्सेस का अनुरोध करता है. |
|
इसमें संसाधन का डेटा शामिल होता है
{ "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" } ] } |
जब कोई उपयोगकर्ता किसी फ़ाइल पर ऐक्सेस के अनुरोध को स्वीकार या अस्वीकार करता है. |
|
इसमें संसाधन का डेटा शामिल होता है
{ "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 खाते से ऐक्सेस कर सकता है.