इस गाइड में, Google Drive Activity API में रिस्पॉन्स के मुख्य कॉम्पोनेंट के बारे में बताया गया है. साथ ही, उदाहरण दिए गए हैं और उन्हें समझने का तरीका भी बताया गया है.
ऑब्जेक्ट
DriveActivity
: यह Drive पर गतिविधि के बारे में बताने वाले एपीआई को की गई क्वेरी से मिलने वाला मुख्य संसाधन है. इसमें एक या एक से ज़्यादा उपयोगकर्ताओं के बारे में जानकारी दी जाती है. ये उपयोगकर्ता एक या एक से ज़्यादा कार्रवाइयां करते हैं, जिनका असर एक या एक से ज़्यादा टारगेट पर पड़ता है.Timestamp
औरTimeRange
: इनसे पता चलता है कि गतिविधि कब हुई या किसी समयावधि के दौरान गतिविधि कब शुरू और कब खत्म हुई.Actor
: आम तौर पर,Actor
एक असली उपयोगकर्ता होता है. हालांकि, कभी-कभी सिस्टम इवेंट,Action
को ट्रिगर कर सकता है. ऐसा तब होता है, जब कोई एडमिन उपयोगकर्ता या खुद के तौर पर काम कर रहा हो या जब कोई ऐसा व्यक्ति काम कर रहा हो जिसकी पहचान नहीं की जा सकती.Actor
मैसेज में इन सभी मामलों के बारे में बताया गया है.Target
:Target
किसी गतिविधि का ऑब्जेक्ट होता है. जैसे, फ़ाइल, फ़ोल्डर, शेयर की गई ड्राइव या फ़ाइल पर की गई टिप्पणी. ध्यान दें कि कई तरह की कार्रवाइयां, एक से ज़्यादा तरह के टारगेट के साथ काम करती हैं. उदाहरण के लिए,Edit
आम तौर पर Drive की फ़ाइलों पर लागू होता है. हालांकि,Rename
औरCreate
जैसी अन्य कार्रवाइयां, Drive के फ़ोल्डर और शेयर की गई ड्राइव पर भी लागू हो सकती हैं. Drive के आइटम नहीं होने पर भी टारगेट, Drive के किसी आइटम का रेफ़रंस दे सकते हैं. जैसे, किसी Drive के रूट फ़ोल्डर या उस पैरंट दस्तावेज़ का रेफ़रंस जिसमें फ़ाइल की टिप्पणी मौजूद है.Action
: हरDriveActivity
संसाधन में एक या उससे ज़्यादा मिलती-जुलती कार्रवाइयां होती हैं.Action
, इवेंट की तरह ही एक ऐसा एलिमेंट है जिसमें कार्रवाई के बारे में पूरी जानकारी और टाइप शामिल होता है. साथ ही, इसमेंActor
,Target
, औरTimestamp
याTimeRange
भी शामिल होता है. डुप्लीकेट डेटा से बचने के लिए,Action
अपनेTarget
,Actor
या समय फ़ील्ड में वैल्यू नहीं डालता, जब वे पूरीDriveActivity
के जैसे हों.ActionDetail
: यहAction
के बारे में खास जानकारी और उसका टाइप है. उदाहरण के लिए,Move
ऐक्शन की जानकारी में सोर्स और डेस्टिनेशन की जगह की जानकारी होती है. साथ ही,PermissionChange
से यह पता चलता है कि अब कौनसे लोग किसी दस्तावेज़ को ऐक्सेस कर सकते हैं और किन विशेषाधिकारों के साथ.
जवाब के उदाहरण
जवाबों के सैंपल देखने के लिए, यहां दी गई जानकारी देखें.
किसी उपयोगकर्ता ने Drive में मौजूद किसी फ़ाइल में बदलाव किया
किसी DriveActivity
संसाधन में सिर्फ़ एक कार्रवाई शामिल हो सकती है, जैसे कि कोई उपयोगकर्ता किसी फ़ाइल में बदलाव कर रहा है.
"activities":[{
"primaryActionDetail":{ "edit":{} },
"actors":[ { "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID" } } } ],
"targets":[ { "driveItem":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } } ],
"timestamp":{ "seconds":"1536794657", "nanos":791000000 },
"actions":[ { "detail":{ "edit":{} } } ]
}]
इस आउटपुट में ये वैल्यू शामिल हैं:
- ACCOUNT_ID: उपयोगकर्ता का आईडी. ज़्यादा जानकारी पाने के लिए, इसका इस्तेमाल People API के साथ किया जा सकता है.
- ITEM_ID: Drive में मौजूद आइटम का आईडी.
- TITLE: Drive आइटम का टाइटल.
ध्यान दें कि इस रिस्पॉन्स में मौजूद Action
ऑब्जेक्ट में Actor
,
Target
या timestamp
शामिल नहीं है, क्योंकि ये सभी ऑब्जेक्ट, पूरी तरह से DriveActivity
ऑब्जेक्ट के जैसे ही होते हैं.
दो उपयोगकर्ताओं ने एक ही फ़ाइल में एक ही समय पर बदलाव किया
ConsolidationStrategy
का इस्तेमाल करने पर, मिलती-जुलती कार्रवाइयों को एक साथ DriveActivity
में रखा जाता है. इस उदाहरण में, दो मिलती-जुलती कार्रवाइयों को एक ग्रुप में रखा गया है: दो अलग-अलग उपयोगकर्ताओं की एक Edit
कार्रवाई का टाइप.
"activities":[{
"primaryActionDetail":{ "edit":{} },
"actors":[
{ "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID_1" } } },
{ "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID_2" } } }
],
"targets":[
{ "driveItem":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } }
],
"timeRange":{
"startTime":{ "seconds":"1541089823", "nanos":712000000 },
"endTime":{ "seconds":"1541089830", "nanos":830000000 }
},
"actions":[
{
"detail":{ "edit":{} },
"actor":{ "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID_1" } } },
"timestamp":{ "seconds":"1541089830", "nanos":830000000 }
},
{
"detail":{ "edit":{} },
"actor":{ "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID_2" } } },
"timestamp":{ "seconds":"1541089823", "nanos":712000000 }
}
]
}]
इस आउटपुट में ये वैल्यू शामिल हैं:
- ACCOUNT_ID_1: पहले उपयोगकर्ता का आईडी. ज़्यादा जानकारी पाने के लिए, इसका इस्तेमाल People API के साथ किया जा सकता है.
- ACCOUNT_ID_2: दूसरे उपयोगकर्ता का आईडी.
- ITEM_ID: Drive में मौजूद आइटम का आईडी.
- TITLE: Drive आइटम का टाइटल.
ध्यान दें कि इस रिस्पॉन्स में मौजूद Action
ऑब्जेक्ट में Target
शामिल नहीं है, क्योंकि यह कुल DriveActivity
के बराबर है.
इस उदाहरण से यह भी पता चलता है कि ऐप्लिकेशन, अलग-अलग कार्रवाइयों को देखे बिना, DriveActivity
में सिर्फ़ खास जानकारी का इस्तेमाल कैसे कर सकते हैं. जवाब से पता चलता है कि दो उपयोगकर्ताओं ने किसी फ़ाइल में, एक तय समयावधि के दौरान बदलाव किया है.
किसी उपयोगकर्ता ने दो फ़ाइलों को नई डायरेक्ट्री में ले जाया
इस उदाहरण में, ConsolidationStrategy
ने मिलती-जुलती दो Move
कार्रवाइयों को एक ग्रुप में रखा है, क्योंकि फ़ाइलों को एक ही सोर्स से एक ही डेस्टिनेशन पर एक ही समय में ट्रांसफ़र किया गया था.
"activities":[{
"primaryActionDetail":{
"move":{
"addedParents":[ { ... } ]
"removedParents":[ { ... } ]
}
},
"actors":[ { "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID" } } } ],
"targets":[
{ "driveItem":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } },
{ "driveItem":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
],
"timestamp":{ "seconds":"1541090960", "nanos":985000000 },
"actions":[
{
"detail":{ "move":{ "addedParents":[ { ... } ] "removedParents":[ { ... } ] } },
"target":{ "driveItem":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } }
},
{
"detail":{ "move":{ "addedParents":[ { ... } ] "removedParents":[ { ... } ] } },
"target":{ "driveItem":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
}
]
}]
इस आउटपुट में ये वैल्यू शामिल हैं:
- ACCOUNT_ID: उपयोगकर्ता का आईडी. ज़्यादा जानकारी पाने के लिए, इसका इस्तेमाल People API के साथ किया जा सकता है.
- ITEM_ID_1: Drive में मौजूद पहले आइटम का आईडी.
- ITEM_ID_2: Drive में मौजूद दूसरे आइटम का आईडी.
- TITLE_1: Drive में मौजूद पहले आइटम का टाइटल.
- TITLE_2: Drive में मौजूद दूसरे आइटम का टाइटल.
ध्यान दें कि इस रिस्पॉन्स में मौजूद Action
ऑब्जेक्ट में Actor
या
timestamp
शामिल नहीं है, क्योंकि ये कुल DriveActivity
के बराबर हैं.