इस पेज पर, 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 |
सदस्यता देने वाले उपयोगकर्ता के पास, सदस्यता लेने के लिए इवेंट से जुड़ी फ़ाइल में अनुमति होनी चाहिए. |
शेयर की गई ड्राइव | //googleapis.com/drive/v3/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 पेलोड |
---|---|---|
कोई उपयोगकर्ता, फ़ोल्डर या शेयर की गई ड्राइव में कोई फ़ाइल जोड़ता है. |
|
इसमें संसाधन का डेटा शामिल होता है
{ "fileCreatedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } इसमें संसाधन का डेटा शामिल नहीं होता
{ "fileCreatedEvent": { "file": { "id": "FILE_ID" } } } |
कोई उपयोगकर्ता किसी फ़ाइल को फ़ोल्डर या शेयर की गई ड्राइव में ले जाता है. |
|
इसमें संसाधन का डेटा शामिल होता है
{ "fileMovedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } इसमें संसाधन का डेटा शामिल नहीं होता
{ "fileMovedEvent": { "file": { "id": "FILE_ID" } } } |
कोई उपयोगकर्ता किसी फ़ाइल में बदलाव करता है या नया वर्शन अपलोड करता है. |
|
इसमें संसाधन का डेटा शामिल होता है
{ "fileContentChangedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } इसमें संसाधन का डेटा शामिल नहीं होता
{ "fileContentChangedEvent": { "file": { "id": "FILE_ID" } } } |
कोई उपयोगकर्ता कोई फ़ाइल मिटाता है. |
|
इसमें संसाधन का डेटा शामिल होता है
{ "fileDeletedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } इसमें संसाधन का डेटा शामिल नहीं होता
{ "fileDeletedEvent": { "file": { "id": "FILE_ID" } } } |
कोई उपयोगकर्ता किसी फ़ाइल को ट्रैश में डालता है. |
|
इसमें संसाधन का डेटा शामिल होता है
{ "fileTrashedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } इसमें संसाधन का डेटा शामिल नहीं होता
{ "fileTrashedEvent": { "file": { "id": "FILE_ID" } } } |
कोई उपयोगकर्ता, ट्रैश से किसी फ़ाइल को वापस लाता है. |
|
इसमें संसाधन का डेटा शामिल होता है
{ "fileUntrashedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } इसमें संसाधन का डेटा शामिल नहीं होता
{ "fileUntrashedEvent": { "file": { "id": "FILE_ID" } } } |
कोई उपयोगकर्ता, किसी फ़ाइल का ऐक्सेस पाने का अनुरोध करता है. |
|
इसमें संसाधन का डेटा शामिल होता है
{ "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" } ] } } |
कोई उपयोगकर्ता, फ़ाइल के ऐक्सेस के प्रस्ताव को स्वीकार या अस्वीकार करता है. |
|
इसमें संसाधन का डेटा शामिल होता है
{ "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 खाते से है.