इस गाइड में, Google Drive Activity API के वर्शन 1 और 2 के बीच के अंतर के बारे में बताया गया है. साथ ही, यह भी बताया गया है कि v2 एपीआई के साथ काम करने के लिए, अपने v1 ऐप्लिकेशन में कैसे बदलाव करें.
अनुमति देना
v1 एपीआई ने इस स्कोप का इस्तेमाल किया था:
https://www.googleapis.com/auth/activity
v2 API के लिए, इनमें से किसी एक स्कोप की ज़रूरत होती है:
https://www.googleapis.com/auth/drive.activity
https://www.googleapis.com/auth/drive.activity.readonly
संसाधन के नाम
v1 API में, Google Drive आइटम और उपयोगकर्ताओं जैसे ऑब्जेक्ट के आइडेंटिफ़ायर, अस्पष्ट स्ट्रिंग थे. v2 API में, आम तौर पर इन ऑब्जेक्ट का रेफ़रंस, संसाधन के नामों का इस्तेमाल करके दिया जाता है. ज़्यादा जानकारी के लिए, Cloud API के डिज़ाइन से जुड़ी गाइड देखें .
आम तौर पर, इन आइडेंटिफ़ायर को बदला जा सकता है. उदाहरण के लिए, v2 API में Drive के आइटम का रेफ़रंस, रिसॉर्स के नाम items/ITEM_ID_V1
का इस्तेमाल करके दिया जाता है.
अनुरोध
वर्शन 2 के लिए अनुरोध का फ़ॉर्मैट, वर्शन 1 के फ़ॉर्मैट से मिलता-जुलता है. खास तौर पर, अब भी Drive फ़ाइल या Drive के किसी पैरंट के लिए गतिविधि का अनुरोध किया जा सकता है. हालांकि, ध्यान रखें कि आपको उन अनुरोध पैरामीटर को items/
से पहले लगाकर, संसाधन के नाम के तौर पर फ़ॉर्मैट करना होगा.
"ग्रुपिंग" को अब एक साथ जोड़ना कहा जाता है. साथ ही, source
और userId
अनुरोध पैरामीटर हटा दिए गए हैं.
इसमें नए फ़िल्टर विकल्प भी हैं. इनकी मदद से, रिस्पॉन्स में दिखाए जाने वाले गतिविधि डेटा के टाइप को सीमित किया जा सकता है.
कार्रवाइयां
v1 API में, गतिविधि का टाइप और उस गतिविधि से जुड़ा डेटा, अलग-अलग फ़ील्ड में होता था. उदाहरण के लिए, अगर primaryEventType
फ़ील्ड में वैल्यू move
है, तो ऐप्लिकेशन यह मान लेंगे कि टॉप-लेवल move
फ़ील्ड में, जोड़े गए और हटाए गए माता-पिता की जानकारी अपने-आप भर गई है.
v2 API में, ये फ़ील्ड अब अलग नहीं हैं. ActionDetail
मैसेज में सिर्फ़ एक फ़ील्ड सेट है. यह कार्रवाई के टाइप के बारे में बताता है. साथ ही, उस कार्रवाई से जुड़ी जानकारी भी इसमें होती है. उदाहरण के लिए, किसी आइटम को एक से दूसरी जगह ले जाने के बारे में बताने वाला ActionDetail
, सिर्फ़ move
फ़ील्ड को सेट करता है. साथ ही, उस फ़ील्ड में जोड़े गए और हटाए गए पैरंट की सूची दिखती है.
v1 API primaryEventType
फ़ील्ड, v2
primaryActionDetail
से मिलता-जुलता है.
Actors
v1 API में, अगर उपयोगकर्ता कोई जाना-पहचाना व्यक्ति था, तो दिखाई गई गतिविधि में User
होता था. साथ ही, खास मामलों के लिए fromUserDeletion
जैसे टॉप-लेवल फ़ील्ड भी हो सकता था.
v2 API में, Actor
टाइप का बेहतर सेट उपलब्ध है. साथ ही, जब उपयोगकर्ता कोई जाना-पहचाना उपयोगकर्ता होता है, तो user.knownUser
अपने-आप पॉप्युलेट हो जाता है. अगर आपके ऐप्लिकेशन को उपयोगकर्ताओं के बारे में ज़्यादा जानकारी चाहिए, तो वह People API से क्वेरी कर सकता है. इसके लिए, KnownUser
फ़ील्ड personName
को people.get
तरीके में पास करें.
टारगेट
v1 API में, टारगेट हमेशा Drive आइटम होते थे. v2 API में, Drive में मौजूद अन्य तरह के ऑब्जेक्ट भी टारगेट हो सकते हैं. उदाहरण के लिए, किसी ड्राइव में किए गए बदलावों का टारगेट टाइप Drive
होता है. शेयर की गई ड्राइव का रूट फ़ोल्डर अब भी दिखाया जाता है (root
फ़ील्ड में DriveItem
के तौर पर), लेकिन यह गतिविधि का तात्कालिक टारगेट नहीं है. इसी तरह का कॉन्सेप्ट, FileComment
संसाधन पर भी लागू होता है. इसके parent
फ़ील्ड से उस Drive आइटम का पता चलता है जिसमें टारगेट की गई टिप्पणी की थ्रेड मौजूद है.
सभी खातों की गतिविधि
v1 एपीआई में, 'एक साथ जोड़ना' रणनीति सेट करने पर, जवाब का स्टाइल बदल गया. खास तौर पर, जब कंसोलिडेशन की सुविधा चालू थी, तो हर गतिविधि में कॉम्पोनेंट singleEvents
और combinedEvent
शामिल होता था. इससे उन कॉम्पोनेंट इवेंट के बीच की सामान्य गतिविधि की खास जानकारी मिलती थी. जब कंसोलिडेशन बंद था, तब combinedEvent
फ़ील्ड में हर गतिविधि के लिए, ओरिजनल और बिना कंसोलिडेट किया गया इवेंट शामिल था. इनमें से कोई भी इवेंट एक से ज़्यादा कार्रवाइयों को दिखा सकता है. जैसे, शेयर करने के साथ-साथ बनाना.
v2 API में, जवाब का स्टाइल, एक साथ कई डेटा सोर्स को एक जगह पर इकट्ठा करने की रणनीति के आधार पर नहीं बदलता. ऐसा इसलिए, क्योंकि दिखाए गए DriveActivity
में हमेशा ऐक्टर, टारगेट, और कार्रवाइयों का पूरा सेट होता है.