इस गाइड में, Google Drive ऐक्टिविटी एपीआई के v1 और v2 वर्शन के बीच अंतर बताया गया है. साथ ही, यह भी बताया गया है कि अपने v1 ऐप्लिकेशन को v2 API के साथ काम करने के लिए कैसे बदला जा सकता है.
अनुमति देना
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 एपीआई में मौजूद Drive आइटम के रेफ़रंस के लिए, संसाधन नाम items/ITEM_ID_V1
इस्तेमाल किया जाता है.
अनुरोध
v2 के लिए अनुरोध का फ़ॉर्मैट, v1 के अनुरोध के फ़ॉर्मैट जैसा ही है. खास तौर पर, अब भी किसी Drive फ़ाइल या Drive के एंसेस्टर के लिए, गतिविधि का अनुरोध किया जा सकता है. हालांकि, ध्यान रखें कि आपको उन अनुरोध पैरामीटर को संसाधन नाम के तौर पर फ़ॉर्मैट करना होगा. इसके लिए, उनके पहले items/
जोड़ना होगा.
"ग्रुपिंग" को अब
कंसॉलिडेशन कहा जाता है. साथ ही, source
और
userId
अनुरोध पैरामीटर को हटा दिया गया है.
साथ ही, नए फ़िल्टर विकल्प की मदद से, रिस्पॉन्स में दिखाए गए गतिविधि के डेटा को सीमित किया जा सकता है.
कार्रवाइयाँ
v1 API में, गतिविधि का प्रकार और उस गतिविधि से जुड़ा डेटा,
अलग-अलग फ़ील्ड में थे. उदाहरण के लिए, अगर primaryEventType
फ़ील्ड में
move
वैल्यू है, तो ऐप्लिकेशन यह मान लेंगे कि टॉप-लेवल के किसी move
फ़ील्ड में, जोड़े और हटाए गए पैरंट लेवल का डेटा अपने-आप भर गया है.
v2 API में, ये फ़ील्ड अब अलग-अलग नहीं हैं. ActionDetail
मैसेज में सिर्फ़ एक फ़ील्ड सेट होता है. यह कार्रवाई के प्रकार को दिखाता है और उसमें उस कार्रवाई से जुड़ी
जानकारी शामिल होती है. उदाहरण के लिए, मूव दिखाने वाला ActionDetail
सिर्फ़ move
फ़ील्ड सेट करता है. उस फ़ील्ड में, जोड़े और हटाए गए पैरंट की सूची होती है.
v1 एपीआई primaryEventType
फ़ील्ड, आम तौर पर v2
primaryActionDetail
से मिलता-जुलता है.
Actors
v1 एपीआई में, अगर उपयोगकर्ता जाना-पहचाना उपयोगकर्ता था, तो नतीजे में दी गई गतिविधि में User
होता था. साथ ही, इसमें कुछ खास मामलों के लिए, fromUserDeletion
जैसा टॉप लेवल फ़ील्ड भी शामिल होता था.
v2 API में,
Actor
टाइप का एक बेहतर सेट
उपलब्ध होता है. साथ ही, user.knownUser
की जानकारी तब अपने-आप भर जाती है, जब कलाकार कोई जाना-पहचाना उपयोगकर्ता हो. अगर
आपके ऐप्लिकेशन को उपयोगकर्ताओं के बारे में ज़्यादा जानकारी चाहिए, तो वह
People API से इसके लिए क्वेरी कर सकता है. इसके लिए, KnownUser
फ़ील्ड
personName
को
people.get
तरीके से पास करना होगा.
टारगेट
v1 एपीआई में, टारगेट हमेशा Drive में मौजूद आइटम होते थे. v2 API में, टारगेट, Drive में दूसरी तरह के ऑब्जेक्ट हो सकते हैं. उदाहरण के लिए, Drive में किए जाने वाले बदलावों का टारगेट टाइप Drive
होता है. शेयर की गई ड्राइव का रूट फ़ोल्डर अब भी (root
फ़ील्ड में DriveItem
के तौर पर) दिखाया जा रहा है, लेकिन यह गतिविधि का तुरंत टारगेट नहीं है. इसी तरह का सिद्धांत
FileComment
संसाधन पर लागू होता है. इसका parent
फ़ील्ड, Drive में मौजूद उस आइटम के बारे में बताता है जिसमें टारगेट टिप्पणी थ्रेड होता है.
इकट्ठा की गई गतिविधि
v1 एपीआई में, इकट्ठा करने ("ग्रुपिंग") की रणनीति सेट करने पर, जवाब देने की स्टाइल बदल गई. खास तौर पर, डेटा इकट्ठा करने की सुविधा चालू होने पर, हर गतिविधि में singleEvents
और combinedEvent
शामिल थे. इन गतिविधियों में, सभी गतिविधियों की खास जानकारी होती थी. इकट्ठा करने की सुविधा बंद होने पर, combinedEvent
फ़ील्ड में हर गतिविधि के लिए, बिना किसी जानकारी वाला मूल इवेंट शामिल होता है. इनमें से कोई भी इवेंट एक से ज़्यादा
कार्रवाइयां दिखा सकता है, जैसे कि शेयर के साथ बनाना.
v2 एपीआई में, इंटिग्रेशन की रणनीति के हिसाब से जवाब देने की स्टाइल नहीं बदलती, क्योंकि नतीजे में
DriveActivity
हमेशा ऐक्टर, टारगेट, और कार्रवाइयों का पूरा सेट होता है.