अपनी ऐप्लिकेशन के लिए OAuth कॉन्फ़िगर करें

अपने ऐप्लिकेशन के लिए OAuth को कॉन्फ़िगर करने के लिए, OAuth वर्कफ़्लो सेट अप करें और Data Portability API के OAuth स्कोप चालू करें.

OAuth वर्कफ़्लो सेट अप करना

अपने ऐप्लिकेशन के लिए OAuth फ़्लो सेट अप करने के लिए, Google Identity दस्तावेज़ में दिया गया बुनियादी तरीका अपनाएं.

ज़्यादातर डेवलपर, OAuth की सहमति पाने के लिए सर्वर-साइड वेब ऐप्लिकेशन फ़्लो का इस्तेमाल करते हैं. हालांकि, JavaScript वेब ऐप्लिकेशन फ़्लो या मोबाइल और डेस्कटॉप ऐप्लिकेशन फ़्लो का भी इस्तेमाल किया जा सकता है.

डेटा एक्सपोर्ट करने में, ऐक्सेस टोकन के लाइफ़टाइम से ज़्यादा समय लग सकता है. इसके अलावा, उपयोगकर्ता 30 या 180 दिनों के लिए ऐक्सेस दे सकता है. आपको रीफ़्रेश टोकन पाने और समय-समय पर उसे नए ऐक्सेस टोकन के लिए बदलने की ज़रूरत पड़ सकती है. ज़्यादा जानकारी के लिए, वेब ऐप्लिकेशन के लिए ऐक्सेस टोकन रीफ़्रेश करना और मोबाइल और डेस्कटॉप ऐप्लिकेशन के लिए ऐक्सेस टोकन रीफ़्रेश करना लेख पढ़ें.

अहम जानकारी: OAuth टोकन को सिर्फ़ तब रिन्यू किया जा सकता है, जब आपके OAuth क्लाइंट की पब्लिश करने की स्थिति प्रोडक्शन में है हो, न कि टेस्टिंग में है. इसके अलावा, टेस्टिंग पब्लिश करने की स्थिति वाले OAuth क्लाइंट को दिए गए टोकन की समयसीमा हमेशा सात दिन की होती है. भले ही, आपने 30 या 180 दिनों की समयसीमा चुनी हो. ज़्यादा जानकारी के लिए, OAuth की सहमति वाली स्क्रीन सेट अप करना लेख पढ़ें.

Data Portability API के OAuth स्कोप

OAuth के लिए Data Portability API ऐप्लिकेशन को कॉन्फ़िगर करते समय, अपने ऐप्लिकेशन के लिए काम के Data Portability API OAuth स्कोप चालू करें. कुछ स्कोप sensitive और restricted होते हैं. इन पर अन्य ज़रूरी शर्तें लागू होती हैं.

OAuth फ़्लो में Data Portability API के दायरे जोड़ने पर, ऐसा हो सकता है कि आपका उपयोगकर्ता कुछ दायरों के लिए सहमति दे, लेकिन सभी के लिए नहीं. आपका ऐप्लिकेशन इन मामलों को मैनेज कर सकता है:

  • डेटा के कुछ हिस्से को एक्सपोर्ट करने की अनुमति देना
  • उपयोगकर्ता को यह सूचना देना कि उसने सभी ज़रूरी स्कोप नहीं चुने हैं (और ज़रूरत के मुताबिक काम नहीं कर रहा है)
  • उपयोगकर्ता से बाकी सहमतियों के लिए कहना

इसके अलावा, उपयोगकर्ता यह भी चुन सकता है कि आपको उसके डेटा का ऐक्सेस एक बार दिया जाए या 30 या 180 दिनों के लिए.

  • अगर कोई उपयोगकर्ता आपको एक बार का ऐक्सेस देता है, तो आपके ऐप्लिकेशन को उस सहमति के लिए एक बार डेटा एक्सपोर्ट करने की अनुमति मिलती है. डेटा को फिर से डाउनलोड करने के लिए, आपको उपयोगकर्ता से फिर से सहमति लेनी होगी.
  • अगर कोई उपयोगकर्ता आपको समय के हिसाब से ऐक्सेस देता है, तो आपके ऐप्लिकेशन को तय समयावधि के लिए या उपयोगकर्ता की सहमति रद्द करने तक, डेटा एक्सपोर्ट करने की अनुमति मिलती है.
  • आपके पास अपने अनुरोध में समय के फ़िल्टर लागू करने का विकल्प भी है, ताकि किसी तय समयसीमा के लिए डेटा एक्सपोर्ट किया जा सके. जैसे, पिछले छह महीने.

आपको यह भी ध्यान रखना चाहिए कि OAuth फ़्लो के दौरान, आपके ऐप्लिकेशन को यह पता नहीं चलता कि सहमति देने के लिए किस Google खाते का इस्तेमाल किया गया था. आपके ऐप्लिकेशन को मिलने वाला OAuth टोकन, पारदर्शी नहीं होता.

अगर आपको यह जानना है कि उपयोगकर्ता डेटा कैसे शेयर करते हैं, तो तीसरे पक्ष के साथ अपने डेटा की कॉपी शेयर करना लेख पढ़ें.

दायरे से जुड़ी पाबंदियां

इस सेक्शन में, स्कोप से जुड़ी उन पाबंदियों के बारे में बताया गया है जिनकी वजह से गड़बड़ियां होती हैं.

अलग-अलग स्कोप

Data Portability API के स्कोप (जैसे, https://www.googleapis.com/auth/dataportability.*) के अनुरोधों को अन्य स्कोप (जैसे, https://www.googleapis.com/auth/userinfo.email) के साथ नहीं मिलाया जा सकता. यहां गलत अनुरोध का एक उदाहरण दिया गया है. इसमें पाबंदी वाले हिस्से को बोल्ड किया गया है:

https://accounts.google.com/o/oauth2/v2/auth?
client_id=client_id&
redirect_uri=redirect_uri&
response_type=token&
scope=https://www.googleapis.com/auth/dataportability.myactivity.search+https://www.googleapis.com/auth/userinfo.email&
include_granted_scopes=false

पहले से दिए गए स्कोप

DPAPI स्कोप का अनुरोध करते समय, आपको कभी भी include_granted_scopes=true सेट नहीं करना चाहिए. यहां गलत अनुरोध का एक उदाहरण दिया गया है. इसमें पाबंदी वाले हिस्से को बोल्ड किया गया है:

https://accounts.google.com/o/oauth2/v2/auth?
client_id=client_id&
redirect_uri=redirect_uri&
response_type=token&
scope=https://www.googleapis.com/auth/dataportability.myactivity.search&
include_granted_scopes=true

बहुत ज़्यादा स्कोप

अगर आपके अनुरोध में बहुत ज़्यादा स्कोप जोड़े गए हैं, तो आपको 400 bad request गड़बड़ी का मैसेज दिख सकता है. ऐसा तब होता है, जब यूआरएल की लंबाई, ब्राउज़र में काम करने वाली लंबाई से ज़्यादा हो जाती है. इसे ठीक करने के लिए, स्कोप के लिए किए गए अनुरोधों को कई छोटे ग्रुप में बांटें. साथ ही, हर ग्रुप के लिए सहमति का अनुरोध करने के लिए, बढ़ती हुई अनुमति का इस्तेमाल करें.

दायरे की कैटगरी

Data Portability API के साथ काम करने वाले सभी OAuth स्कोप और उनकी कैटगरी की सूची के लिए, उपलब्ध OAuth स्कोप देखें. किसी खास सेवा के साथ काम करने वाले सभी रिसॉर्स ग्रुप और OAuth स्कोप की सूची देखने के लिए, उस सेवा के लिए स्कीमा रेफ़रंस पेज देखें.