चैनल आईडी के साथ काम करना

जेफ़ पॉसनिक, YouTube डेवलपर रिलेशन – जून 2013

एक साल से ज़्यादा समय से, Google+ प्रोफ़ाइल को YouTube चैनलों से लिंक किया जा सकता है और हमने इस बारे में ब्लॉगिंग की है कि उस प्रोफ़ाइल लिंक की वजह से Data API के कुछ वर्शन के जवाबों में क्या बदलाव हुए हैं. अभी हाल में, ऐसे नए YouTube चैनल बनाना संभव हो गया है जिनके साथ पारंपरिक YouTube उपयोगकर्ता नाम जुड़ा नहीं है और इसके बजाय सिर्फ़ उनकी Google+ प्रोफ़ाइल से पहचान की जाती है. उस ब्लॉग पोस्ट में दी गई ज़्यादातर जानकारी अब भी लागू होती है. हालांकि, इसकी वजह से YouTube चैनलों के बारे में कुछ बुनियादी अनुमान नहीं लगाए जा सके. जैसे, हर एक तरीके को YouTube के यूनीक उपयोगकर्ता नाम से जोड़ा जाएगा. साथ ही, हम कोड लिखने के कुछ और सबसे सही तरीकों के बारे में जानना चाहते हैं, जो सभी तरह के चैनलों के लिए काम करते हैं.

Data API v3 में चैनल आईडी

चैनलों के साथ काम करने वाले सभी v3 ऑपरेशन, खास तौर से उन चैनलों की पहचान करने के लिए चैनल आईडी का इस्तेमाल करते हैं. किसी खास YouTube उपयोगकर्ता के चैनल का आईडी, एपीआई के v2 और v3, दोनों में एक जैसा होता है. इससे, एक वर्शन से दूसरे वर्शन पर जाना आसान हो जाता है. हालांकि, चैनलों के आईडी पर निर्भर रहना, उन डेवलपर के लिए परेशान करने वाला हो सकता है जो पहले YouTube के एपीआई तरीकों को पास करने के लिए इस्तेमाल किए जाते थे. हालांकि, v3 को ऐसे चैनलों का इस्तेमाल करने के लिए डिज़ाइन किया गया है जो पुराने उपयोगकर्ता नाम और बिना किसी दूसरे तरीके से इस्तेमाल होते हैं. इसका मतलब है कि सभी चैनलों पर चैनल आईडी का इस्तेमाल किया जा सकता है.

अगर v3 का इस्तेमाल किया जा रहा है और आपको उस चैनल आईडी को वापस पाना है जो मौजूदा आधिकारिक उपयोगकर्ता से जुड़ा है, तो channels.list(part="id", mine=true) तरीके का इस्तेमाल करके कॉल किया जा सकता है. यह वर्शन 2 में default उपयोगकर्ता की चैनल प्रोफ़ाइल की मांग करने के समान है.

अगर आपको YouTube का कोई ऐसा आर्बिट्रेरी यूज़र नेम मिलता है जो आपको एपीआई के v3 की मदद से, चैनल आईडी में बदलना है, तो एपीआई को channels.list(part="id", forUsername="username") कॉल किया जा सकता है.

अगर आपको सिर्फ़ डिसप्ले नेम दिखता है और इससे मिलता-जुलता चैनल ढूंढना है, तो search.list(part="snippet", type="channel", q="display name") तरीका आपके लिए काम का होगा. आपको इस जवाब के साथ एक से ज़्यादा आइटम लौटाने की संभावना से निपटने के लिए तैयार रहना चाहिए, क्योंकि डिसप्ले नाम खास नहीं होते हैं.

Data API v2 में चैनल आईडी

ध्यान दें: YouTube Data API (v2) को 26 फ़रवरी, 2014 से बंद कर दिया गया है और एपीआई को बंद कर दिया गया है. अब भी v2 एपीआई का इस्तेमाल करने वाले ऐप्लिकेशन को v3 एपीआई पर तुरंत माइग्रेट करना चाहिए.

पुराने Data API v2 का इस्तेमाल करने वाले डेवलपर के लिए सबसे बड़ी सीख यह है कि आपको ध्यान रखना चाहिए कि हर YouTube चैनल का एक अलग उपयोगकर्ता नाम नहीं होता है. अच्छी बात यह है कि हर YouTube चैनल के लिए, एक खास चैनल आईडी की सुविधा होती है. इस आईडी को <yt:channelId> टैग की वैल्यू से दिखाया जाता है. साथ ही, हमारा सुझाव है कि डेवलपर को उपयोगकर्ता नाम के बजाय, उसी आईडी का इस्तेमाल करना चाहिए. उदाहरण के लिए, अगर आपके पास एक डेटाबेस है, जो YouTube चैनल को उस चैनल की जानकारी से मैप करता है, तो आपकी पुरानी एंट्री काम करती रहेंगी. (मौजूदा चैनलों के उपयोगकर्ता नाम नहीं मिटेंगे.) हालांकि, समय के साथ यह और भी बेहतर होता जाएगा और आपको ऐसे चैनलों के साथ भी काम करना पड़ेगा जिन्हें उपयोगकर्ता नाम से पहचाना नहीं जा सके.

उपयोगकर्ता नाम से चैनल आईडी में बदलाव करना, कुछ बातों के हिसाब से आसान होता है. सबसे पहले, Data API v2, अनुरोध वाले यूआरएल में उन चैनल आईडी को स्वीकार करता है जहां भी यह YouTube के उपयोगकर्ता नाम स्वीकार करता है. इसका मतलब है कि आपके पास मौजूदा कोड से, चैनल आईडी को आसानी से बदलने का विकल्प होता है. उदाहरण के लिए, UC_x5XG1OV2P6uZZ5FSM9Ttw आपके लेगसी यूज़र नेम GoogleDevelopers वाले चैनल का चैनल आईडी है, इसलिए यहां दिए गए दो यूआरएल, एक जैसे एपीआई अनुरोध के बराबर हैं:

https://gdata.youtube.com/feeds/api/users/GoogleDevelopers?v=2.1
https://gdata.youtube.com/feeds/api/users/UC_x5XG1OV2P6uZZ5FSM9Ttw?v=2.1

ध्यान रखने वाली एक बात यह है कि जब भी आप पुष्टि किए गए v2 अनुरोध कर रहे हों, तो आपको अनुरोध वाले यूआरएल बनाते समय, अनुमति वाले चैनल का उपयोगकर्ता नाम शामिल करने की ज़रूरत नहीं होती. आपके पास किसी उपयोगकर्ता नाम (या चैनल आईडी) की जगह default वैल्यू का इस्तेमाल करने का विकल्प हमेशा मौजूद होता है. उदाहरण के लिए, अगर आपको मौजूदा समय में अनुमति वाले उपयोगकर्ता के लिए, वीडियो अपलोड किए गए फ़ीड को वापस पाना है, तो https://gdata.youtube.com/feeds/api/users/default/uploads?v=2.1 पर जाएं.