कॉल डेटा पोर्टेबिलिटी एपीआई के तरीके

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 को किए जाने वाले कॉल में किया जा सकता है. किसी असफल काम को ज़्यादा से ज़्यादा तीन बार फिर से किया जा सकता है.

उदाहरण के लिए:

  1. आप InitiatePortabilityArchive(resources = ["myactivity.search"]) को कॉल करते हैं और आपको job_id: 0 मिलते हैं.

  2. GetPortabilityArchiveState(0) को कॉल करने के बाद, आपको JobSate: FAILED मिलेंगे.

  3. इसके बाद, RetryPortabilityArchive(0) को कॉल करके resources = ["myactivity.search"] में job_id: 1 पाएं.

  4. इसके बाद, GetPortabilityArchiveState(1) पर कॉल करना जारी रखा जा सकता है.