उपयोगकर्ता के निजी डेटा को ऐक्सेस करने की अनुमति देने के लिए, YouTube Data API पर OAuth 2.0 प्रोटोकॉल काम करता है. नीचे दी गई सूची में, OAuth 2.0 के कुछ मुख्य सिद्धांतों के बारे में बताया गया है:
-
जब कोई उपयोगकर्ता पहली बार आपके ऐप्लिकेशन में किसी ऐसे फ़ंक्शन का इस्तेमाल करने की कोशिश करता है जिसके लिए उपयोगकर्ता को Google Account or YouTube account में लॉग इन करने की ज़रूरत होती है, तो आपका ऐप्लिकेशन OAuth 2.0 की अनुमति देने की प्रक्रिया शुरू कर देता है.
-
आपका ऐप्लिकेशन, उपयोगकर्ता को Google के ऑथराइज़ेशन सर्वर पर भेजता है. उस पेज का लिंक, ऐक्सेस के उस
scope
को तय करता है जिसका अनुरोध आपका ऐप्लिकेशन, उपयोगकर्ता के खाते के लिए कर रहा है.scope
उन संसाधनों के बारे में बताता है जिन्हें आपका ऐप्लिकेशन, पुष्टि किए गए उपयोगकर्ता के तौर पर काम करते समय वापस ला सकता है, शामिल कर सकता है, अपडेट कर सकता है या मिटा सकता है. -
अगर उपयोगकर्ता आपके ऐप्लिकेशन को उन संसाधनों को ऐक्सेस करने की अनुमति देता है, तो Google आपके ऐप्लिकेशन पर टोकन भेजता है. आपके ऐप्लिकेशन के टाइप के आधार पर, वह टोकन की पुष्टि करता है या उसे किसी और तरह के टोकन से बदलता है.
उदाहरण के लिए, सर्वर साइड वेब ऐप्लिकेशन, लौटाए गए टोकन को ऐक्सेस टोकन और रीफ़्रेश टोकन से बदल देता है. ऐक्सेस टोकन की मदद से, ऐप्लिकेशन उपयोगकर्ता की ओर से अनुरोधों को अनुमति दे सकता है. वहीं, रीफ़्रेश टोकन से, ओरिजनल ऐक्सेस टोकन की समयसीमा खत्म होने पर ऐप्लिकेशन, नया ऐक्सेस टोकन पा सकता है.
अहम जानकारी: OAuth 2.0 अनुमति देने का इस्तेमाल करने के लिए, आपको Google API कंसोल में अनुमति से जुड़े क्रेडेंशियल पाने होंगे.
OAuth 2.0 फ़्लो
Google API, OAuth 2.0 के कई इस्तेमाल के उदाहरणों की सुविधा देता है:
- सर्वर-साइड वेब ऐप्लिकेशन फ़्लो, ऐसे वेब ऐप्लिकेशन पर काम करता है जो स्थायी जानकारी को सुरक्षित तरीके से सेव कर सकते हैं.
- JavaScript वेब ऐप्लिकेशन फ़्लो, ब्राउज़र में चल रहे JavaScript ऐप्लिकेशन के साथ काम करता है.
- मोबाइल और डेस्कटॉप ऐप्लिकेशन फ़्लो, फ़ोन या कंप्यूटर जैसे डिवाइस पर इंस्टॉल किए गए ऐप्लिकेशन के साथ काम करता है.
- टीवी और सीमित इनपुट वाले डिवाइस फ़्लो, गेम कंसोल और वीडियो कैमरे जैसे सीमित इनपुट क्षमताओं वाले डिवाइसों पर काम करता है.
- सेवा खाता फ़्लो के लिए, OAuth 2.0 फ़्लो, सर्वर-टू-सर्वर इंटरैक्शन के साथ काम करता है. ये ऐसे इंटरैक्शन होते हैं जो उपयोगकर्ता की जानकारी को ऐक्सेस नहीं करते.
हालांकि, YouTube Data API पर यह फ़्लो काम नहीं करता.
Since there is no way to link a Service Account to a YouTube account, attempts to authorize requests with this flow will generate a
NoLinkedYouTubeAccount
error.