Data Portability API में ये तरीके शामिल हैं:
portabilityArchive.initiate
archiveJobs.getPortabilityArchiveState
resetAuthorization
archiveJobs.retryPortabilityArchive
archiveJobs.cancelPortabilityArchive
accessType.check
portabilityArchive.initiate
डेटा एक्सपोर्ट का नया जॉब शुरू करने के लिए, portabilityArchive.initiate
तरीके को कॉल किया जाता है.
डेटा संग्रह बनाने के लिए एक्सपोर्ट जॉब शुरू करते समय, आपको सही संसाधन ग्रुप का अनुरोध करना होगा. साथ ही, उस संसाधन ग्रुप के लिए ज़रूरी दायरों के साथ OAuth टोकन देना होगा. OAuth टोकन का इस्तेमाल, अनुरोध को अनुमति देने और यह तय करने के लिए किया जाता है कि उपयोगकर्ता का कौनसा डेटा एक्सपोर्ट किया जा रहा है.
किसी खास सेवा के साथ काम करने वाले सभी रिसॉर्स ग्रुप की सूची देखने के लिए, उस सेवा के लिए स्कीमा रेफ़रंस पेज देखें.
उदाहरण के लिए, अगर आपको खोज गतिविधि का डेटा एक्सपोर्ट करना है, तो InitiatePortabilityArchive(resources = ["myactivity.search"])
को कॉल करें. अनुरोध में, खोज के OAuth स्कोप:https://www.googleapis.com/auth/dataportability.myactivity.search
के साथ OAuth टोकन जुड़ा होना चाहिए.
एक InitiatePortabilityArchive
कॉल में कई रिसॉर्स ग्रुप शामिल किए जा सकते हैं, लेकिन ऐसा करने का सुझाव नहीं दिया जाता. हर संसाधन ग्रुप के लिए अलग-अलग InitiatePortabilityArchive
अनुरोध करके, प्रोसेस को तेज़ किया जा सकता है. ध्यान दें कि एक से ज़्यादा रिसॉर्स ग्रुप का अनुरोध करने पर, अटैच किए गए OAuth टोकन में सभी ज़रूरी स्कोप होने चाहिए.
उदाहरण के लिए, खोज और YouTube गतिविधि, दोनों के लिए डेटा संग्रह बनाने के लिए, InitiatePortabilityArchive(resources = ["myactivity.search","myactivity.youtube"])
को कॉल करने के बजाय, ये अलग-अलग कॉल करें: InitiatePortabilityArchive(resources = ["myactivity.search"])
और InitiatePortabilityArchive(resources = ["myactivity.youtube"])
.
InitiatePortabilityArchive
अनुरोध से job_id
मिलता है. इस जॉब आईडी का इस्तेमाल, डेटा संग्रह की स्थिति को वापस पाने के लिए किया जाता है.
archiveJobs.getPortabilityArchiveState
डेटा संग्रहित करने के लिए एक्सपोर्ट किए जाने वाले जॉब की मौजूदा स्थिति देखने के लिए, archiveJobs.getPortabilityArchiveState
तरीके को कॉल किया जाता है. getPortabilityArchiveState
को कॉल करने पर, आपको job_id
:
GetPortabilityArchiveState(job_id)
डालना होगा. आपको ऐसे OAuth टोकन की जानकारी भी देनी होगी जिसके दायरे, initiate
अनुरोध में इस्तेमाल किए गए संसाधन ग्रुप से मेल खाते हों.
अगर स्थिति COMPLETE
है, तो आपको हस्ताक्षर किए गए ऐसे Cloud Storage यूआरएल मिलेंगे जिनका इस्तेमाल करके डेटा डाउनलोड किया जा सकता है. हस्ताक्षर किए गए यूआरएल की समयसीमा छह घंटे बाद खत्म हो जाती है. साथ ही, डेटा 14 दिनों तक उपलब्ध रहता है.
डेटा के हिसाब से, संग्रहित करने के अनुरोध को पूरा होने में कुछ मिनट, कुछ घंटे या कई दिन भी लग सकते हैं. हर पांच से 60 मिनट में, संग्रह की स्थिति देखी जा सकती है.
resetAuthorization
resetAuthorization
तरीका ये काम करता है:
- उपयोगकर्ता से मिले सभी OAuth स्कोप रद्द कर देता है
- इससे आपके ऐप्लिकेशन को उस संसाधन ग्रुप के लिए
InitiatePortabilityArchive
को कॉल करने की अनुमति मिलती है जिसका इस्तेमाल आपने पहले किया था - पिछले डेटा के संग्रह का ऐक्सेस हटाता है
resetAuthorization
को कॉल करते समय, आपको उस उपयोगकर्ता के लिए अटैच किया गया OAuth टोकन देना होगा जिसकी अनुमति आपको रीसेट करनी है.
archiveJobs.retryPortabilityArchive
archiveJobs.retryPortabilityArchive
तरीके को उन जॉब को फिर से शुरू करने के लिए कॉल किया जाता है जो पहले ही archiveJobs.getPortabilityArchiveState
तरीके से FAILED
की स्थिति दिखा चुके हैं. ऐसा बैकएंड पर कुछ समय के लिए होने वाली गड़बड़ी की वजह से हो सकता है. ऐसे में, उपयोगकर्ता से नया OAuth टोकन लिए बिना, एक्सपोर्ट करने की कोशिश फिर से की जा सकती है. retryPortabilityArchive
को कॉल करते समय, आपको मान्य OAuth टोकन के साथ job_id
की वैल्यू देनी होगी. इसके बाद, एंडपॉइंट उन रिसॉर्स ग्रुप के लिए एक्सपोर्ट बनाने की कोशिश करता है जिनके लिए शुरुआती initiatePortabilityArchive
अनुरोध किया गया था. अगर यह एंडपॉइंट काम करता है, तो यह एक नया job_id
दिखाता है. इसका इस्तेमाल getPortabilityArchiveState
को कॉल करने के लिए किया जा सकता है. अगर कोई जॉब पूरी नहीं हो पाती है, तो उसे तीन बार तक दोबारा चलाया जा सकता है.
उदाहरण के लिए:
आपने
InitiatePortabilityArchive(resources = ["myactivity.search"])
को कॉल किया, और आपकोjob_id: 0
मिला.GetPortabilityArchiveState(0)
को कॉल करने के बाद, आपकोJobSate: FAILED
मिलता है.इसके बाद,
resources = ["myactivity.search"]
के लिएjob_id: 1
पाने के लिए,RetryPortabilityArchive(0)
पर कॉल किया जा सकता है.इसके बाद,
GetPortabilityArchiveState(1)
पर कॉल करना जारी रखा जा सकता है.
archiveJobs.cancelPortabilityArchive
archiveJobs.cancelPortabilityArchive
तरीके का इस्तेमाल, किसी मौजूदा टोकन को रद्द किए बिना किसी अलग जॉब को रद्द करने के लिए किया जाता है. ऐसा तब किया जाता है, जब आपके पास उपयोगकर्ता के डेटा का ऐक्सेस हो. यह तब काम आता है, जब किसी जॉब या संसाधन की ज़रूरत न हो और आपको अपना जॉब कोटा रीसेट करना हो. नौकरी IN_PROGRESS
होनी चाहिए और उसे समय के हिसाब से ऐक्सेस करने के लिए बनाया गया हो, ताकि उसे रद्द किया जा सके.
उदाहरण के लिए, myactivity.youtube
और youtube.public_videos
के लिए, समय के हिसाब से चल रहे किसी मौजूदा जॉब को रद्द किया जा सकता है. इसके बाद, सिर्फ़ myactivity.youtube
के लिए नया जॉब शुरू किया जा सकता है.
accessType.check
accessType.check
तरीके की मदद से, यह जांच की जा सकती है कि कोई OAuth टोकन, कोई जॉब शुरू करने से पहले, समय के हिसाब से या एक बार के ऐक्सेस की अनुमति देता है या नहीं. उदाहरण के लिए, अगर उपयोगकर्ता ने एक बार के लिए ऐक्सेस दिया है, तो हो सकता है कि आप उसका पूरा इतिहास एक्सपोर्ट करना चाहें. इसके अलावा, अगर उपयोगकर्ता ने समय के हिसाब से ऐक्सेस दिया है, तो हो सकता है कि आप सिर्फ़ पिछले दिन का डेटा एक्सपोर्ट करना चाहें.
रिस्पॉन्स में दो फ़ील्ड होते हैं: अनुरोध में इस्तेमाल किए गए OAuth टोकन से अनुमति पा चुके, एक बार इस्तेमाल होने वाले और समय के हिसाब से डेटापोर्टेबिलिटी रिसॉर्स ग्रुप आईडी की सूचियां. उपयोगकर्ता, टोकन के ज़रिए मिलने वाले ऐक्सेस टाइप को एक साथ नहीं इस्तेमाल कर सकते. हालांकि, यह ज़रूरी नहीं है कि आने वाले समय में भी ऐसा ही हो.