Data Portability API में ये तरीके इस्तेमाल किए जाते हैं:
portabilityArchive.initiate
archiveJobs.getPortabilityArchiveState
resetAuthorization
archiveJobs.retryPortabilityArchive
portabilityArchive.initiate
डेटा एक्सपोर्ट करने का नया काम शुरू करने के लिए, portabilityArchive.initiate
तरीके को कॉल किया जाता है.
डेटा संग्रह बनाने के लिए, एक्सपोर्ट का काम शुरू करने पर, आपको सही रिसॉर्स ग्रुप का अनुरोध करना होगा. साथ ही, उस रिसॉर्स ग्रुप के लिए ज़रूरी दायरे के साथ OAuth टोकन देना होगा. OAuth टोकन का इस्तेमाल, अनुरोध को अनुमति देने और यह तय करने के लिए किया जाता है कि उपयोगकर्ता का कौनसा डेटा एक्सपोर्ट किया जा रहा है.
किसी खास सेवा के साथ काम करने वाले सभी संसाधन ग्रुप की सूची देखने के लिए, उस सेवा के स्कीमा का रेफ़रंस पेज देखें.
उदाहरण के लिए, अगर खोज गतिविधि का डेटा एक्सपोर्ट किया जा रहा है, तो
InitiatePortabilityArchive(resources = ["myactivity.search"])
को कॉल किया जा सकता है. अनुरोध में, Search OAuth स्कोप के साथ जुड़ा OAuth टोकन होना ज़रूरी है: https://www.googleapis.com/auth/dataportability.myactivity.search
.
एक 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
वाले तरीके का इस्तेमाल, डेटा संग्रह एक्सपोर्ट
की मौजूदा state को फिर से पाने के लिए किया जाता है. 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
का state दिख रहा हो. बैकएंड पर कोई अस्थायी गड़बड़ी
की वजह से ऐसा हो सकता है. ऐसे में, उपयोगकर्ता से नया OAuth टोकन लिए बिना,
एक्सपोर्ट करने की फिर से कोशिश की जा सकती है. retryPortabilityArchive
को कॉल करने पर, आपको job_id
के साथ-साथ मान्य OAuth टोकन दिया जाता है. इसके बाद, एंडपॉइंट उन ही रिसॉर्स ग्रुप के लिए एक्सपोर्ट बनाने की कोशिश करता है जिनका अनुरोध initiatePortabilityArchive
के शुरुआती अनुरोध में किया गया था. अगर यह प्रोसेस पूरी हो जाती है, तो यह एंडपॉइंट नया job_id
दिखाता है. इसका इस्तेमाल getPortabilityArchiveState
को किए जाने वाले कॉल में किया जा सकता है. किसी
असफल काम को ज़्यादा से ज़्यादा तीन बार फिर से किया जा सकता है.
उदाहरण के लिए:
आप
InitiatePortabilityArchive(resources = ["myactivity.search"])
को कॉल करते हैं और आपकोjob_id: 0
मिलते हैं.GetPortabilityArchiveState(0)
को कॉल करने के बाद, आपकोJobSate: FAILED
मिलेंगे.इसके बाद,
RetryPortabilityArchive(0)
को कॉल करकेresources = ["myactivity.search"]
मेंjob_id: 1
पाएं.इसके बाद,
GetPortabilityArchiveState(1)
पर कॉल करना जारी रखा जा सकता है.