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