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

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 को कॉल करने के लिए किया जा सकता है. अगर कोई जॉब पूरी नहीं हो पाती है, तो उसे तीन बार तक दोबारा चलाया जा सकता है.

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

  1. आपने InitiatePortabilityArchive(resources = ["myactivity.search"]) को कॉल किया, और आपको job_id: 0 मिला.

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

  3. इसके बाद, resources = ["myactivity.search"] के लिए job_id: 1 पाने के लिए, RetryPortabilityArchive(0) पर कॉल किया जा सकता है.

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

archiveJobs.cancelPortabilityArchive

archiveJobs.cancelPortabilityArchive तरीके का इस्तेमाल, किसी मौजूदा टोकन को रद्द किए बिना किसी अलग जॉब को रद्द करने के लिए किया जाता है. ऐसा तब किया जाता है, जब आपके पास उपयोगकर्ता के डेटा का ऐक्सेस हो. यह तब काम आता है, जब किसी जॉब या संसाधन की ज़रूरत न हो और आपको अपना जॉब कोटा रीसेट करना हो. नौकरी IN_PROGRESS होनी चाहिए और उसे समय के हिसाब से ऐक्सेस करने के लिए बनाया गया हो, ताकि उसे रद्द किया जा सके.

उदाहरण के लिए, myactivity.youtube और youtube.public_videos के लिए, समय के हिसाब से चल रहे किसी मौजूदा जॉब को रद्द किया जा सकता है. इसके बाद, सिर्फ़ myactivity.youtube के लिए नया जॉब शुरू किया जा सकता है.

accessType.check

accessType.check तरीके की मदद से, यह जांच की जा सकती है कि कोई OAuth टोकन, कोई जॉब शुरू करने से पहले, समय के हिसाब से या एक बार के ऐक्सेस की अनुमति देता है या नहीं. उदाहरण के लिए, अगर उपयोगकर्ता ने एक बार के लिए ऐक्सेस दिया है, तो हो सकता है कि आप उसका पूरा इतिहास एक्सपोर्ट करना चाहें. इसके अलावा, अगर उपयोगकर्ता ने समय के हिसाब से ऐक्सेस दिया है, तो हो सकता है कि आप सिर्फ़ पिछले दिन का डेटा एक्सपोर्ट करना चाहें.

रिस्पॉन्स में दो फ़ील्ड होते हैं: अनुरोध में इस्तेमाल किए गए OAuth टोकन से अनुमति पा चुके, एक बार इस्तेमाल होने वाले और समय के हिसाब से डेटापोर्टेबिलिटी रिसॉर्स ग्रुप आईडी की सूचियां. उपयोगकर्ता, टोकन के ज़रिए मिलने वाले ऐक्सेस टाइप को एक साथ नहीं इस्तेमाल कर सकते. हालांकि, यह ज़रूरी नहीं है कि आने वाले समय में भी ऐसा ही हो.