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

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

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

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

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

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

अगर आपको कभी भी कोई ऐसा YouTube उपयोगकर्ता नाम मिलता है जिसे एपीआई के वर्शन 3 का इस्तेमाल करके चैनल आईडी में बदलना है, तो एपीआई को 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 API का इस्तेमाल किया जा रहा है उन्हें तुरंत v3 API पर माइग्रेट कर देना चाहिए.

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 पर जाएं.