জেফ পজনিক, YouTube ডেভেলপার রিলেশন – জুন ২০১৩
এক বছরেরও বেশি সময় ধরে YouTube চ্যানেলের সাথে Google+ প্রোফাইল লিঙ্ক করা সম্ভব হয়েছে এবং সেই প্রোফাইল লিঙ্কের ফলে Data API v2-এর কিছু উত্তরে কী পরিবর্তন হয়েছে সেই বিষয়ে আমরা ব্লগ করেছি। সম্প্রতি, এমন নতুন YouTube চ্যানেল তৈরি করা সম্ভব হয়েছে যেগুলির সাথে কোনও প্রচলিত YouTube ইউজারনেম যুক্ত নেই এবং পরিবর্তে, শুধুমাত্র তাদের Google+ প্রোফাইলের মাধ্যমে শনাক্ত করা হয়। সেই ব্লগ পোস্টের বেশিরভাগ তথ্য এখনও প্রযোজ্য, তবে এই অতিরিক্ত জটিলতা YouTube চ্যানেল সম্পর্কে কিছু মৌলিক অনুমানকে বাতিল করে দেয় – যেমন প্রতিটি চ্যানেল সর্বদা একটি অনন্য YouTube ইউজারনেমের সাথে যুক্ত থাকবে – এবং আমরা সব ধরনের চ্যানেলের সাথে কাজ করে এমন কোড লেখার জন্য কিছু অতিরিক্ত পেশাদার পদ্ধতি অনুসরণ করতে চেয়েছিলাম।
Data API v3-তে চ্যানেল আইডি
চ্যানেলের সাথে কাজ করে এমন সব v3 অপারেশন, সেইসব চ্যানেল শনাক্ত করার উপায় হিসেবে শুধুমাত্র চ্যানেল আইডি ব্যবহার করে। নির্দিষ্ট YouTube ব্যবহারকারীর চ্যানেলের আইডি API-এর v2 এবং v3 ভার্সনে একই থাকে, তাই এক ভার্সন থেকে অন্য ভার্সনে মাইগ্রেট করা সহজ হয়। চ্যানেল আইডির উপর সম্পূর্ণ নির্ভরতা ডেভেলপারদের জন্য বিভ্রান্তিকর হতে পারে, যারা আগে API পদ্ধতিতে YouTube ইউজারনেম পাস করতে অভ্যস্ত ছিলেন, কিন্তু v3-কে এমনভাবে ডিজাইন করা হয়েছে যাতে পুরনো ইউজারনেম সহ এবং ছাড়া চ্যানেলগুলিকে একইভাবে ব্যবহার করা যায় এবং এর অর্থ হল সব জায়গায় চ্যানেল আইডি ব্যবহার করা।
আপনি v3 ব্যবহার করলে এবং বর্তমানে অনুমোদিত ব্যবহারকারীর সাথে সম্পর্কিত চ্যানেল আইডি ফিরিয়ে আনতে চাইলে, channels.list(part="id", mine=true) পদ্ধতি কল করতে পারবেন। এটি v2-তে default ব্যবহারকারীর চ্যানেল প্রোফাইল চাওয়ার সমতুল্য।
আপনি যদি কখনও এমন কোনও পুরনো YouTube ব্যবহারকারীর নাম খুঁজে পান যা API-এর v3 ব্যবহার করে চ্যানেল আইডিতে অনুবাদ করতে হবে, তাহলে আপনি channels.list(part="id", forUsername="username") API-তে কল করতে পারেন।
আপনি যদি শুধুমাত্র ডিসপ্লে নাম জানেন এবং সংশ্লিষ্ট চ্যানেলটি খুঁজে পেতে চান, তাহলে search.list(part="snippet", type="channel", q="display name") পদ্ধতিটি কাজে লাগবে। ডিসপ্লে নাম অনন্য নয়, তাই কলে একাধিক আইটেম ফেরত আসার সম্ভাবনা রয়েছে এবং আপনাকে সেই পরিস্থিতি সামলানোর জন্য প্রস্তুত থাকতে হবে।
Data API v2-তে চ্যানেল আইডি
মনে রাখবেন: YouTube Data API (v2) ২৬ ফেব্রুয়ারি, ২০১৪ থেকে বন্ধ করে দেওয়া হয়েছে এবং API বন্ধ করে দেওয়া হয়েছে। যেসব অ্যাপ্লিকেশন এখনও v2 API ব্যবহার করছে, সেগুলিকে অবিলম্বে v3 API-তে মাইগ্রেট করতে হবে।
পুরনো Data API v2 ব্যবহারকারী ডেভেলপারদের জন্য সবচেয়ে গুরুত্বপূর্ণ বিষয় হল, তাদের অবশ্যই জানতে হবে যে প্রত্যেক YouTube চ্যানেলের অনন্য ইউজারনেম থাকে না। তবে, প্রতিটি YouTube চ্যানেলের সাথে একটি অনন্য চ্যানেল আইডি যুক্ত থাকে, যা <yt:channelId> ট্যাগে ভ্যালু হিসেবে দেখানো হয় এবং আমরা ডেভেলপারদের ইউজারনেমের পরিবর্তে এই ভ্যালু ব্যবহার করার সাজেশন দিই। যেমন, আপনার কাছে যদি এমন কোনও ডেটাবেস থাকে যা YouTube ইউজারনেমকে সেই চ্যানেলের তথ্যের সাথে ম্যাপ করে, তাহলে আপনার পুরনো এন্ট্রিগুলি কাজ করা চালিয়ে যাবে। (আগে থেকে থাকা চ্যানেলের ইউজারনেম পরিবর্তন করা হবে না।) তবে, সময়ের সাথে সাথে, আপনাকে এমন চ্যানেলের সাথে কাজ করতে হবে যেগুলি ইউজারনেম দিয়ে অনন্যভাবে শনাক্ত করা যায় না।
ইউজারনেম থেকে চ্যানেল আইডিতে পরিবর্তন করার প্রসেসটি কয়েকটি বিষয় সহজ করে দেয়। প্রথমত, Data API v2, YouTube ইউজারনেম গ্রহণ করে এমন যেকোনও অনুরোধের URL-এ চ্যানেল আইডি গ্রহণ করে, যার অর্থ হল আপনি নিজের বর্তমান কোডে নির্বিঘ্নে চ্যানেল আইডি অদলবদল করতে পারবেন। যেমন, যেহেতু UC_x5XG1OV2P6uZZ5FSM9Ttw হল লিগ্যাসি ইউজারনেম GoogleDevelopers সহ চ্যানেলের চ্যানেল আইডি, তাই নিম্নলিখিত দুটি URL হল সমতুল্য API অনুরোধ:
https://gdata.youtube.com/feeds/api/users/GoogleDevelopers?v=2.1https://gdata.youtube.com/feeds/api/users/UC_x5XG1OV2P6uZZ5FSM9Ttw?v=2.1
আরেকটি বিষয় মনে রাখতে হবে যে, আপনি যখনই প্রমাণিত v2 অনুরোধ করছেন, অনুরোধ URL তৈরি করার সময় আপনাকে কখনই অনুমোদিত চ্যানেলের ইউজারনেম অন্তর্ভুক্ত করতে হবে না। আপনি সবসময় ইউজারনেম (বা চ্যানেল আইডি)-এর পরিবর্তে default ভ্যালু ব্যবহার করতে পারবেন। তাই, আপনি যদি বর্তমানে অনুমোদিত ব্যবহারকারীর জন্য ভিডিও আপলোড ফিড ফিরিয়ে আনতে চান, তাহলে আপনি https://gdata.youtube.com/feeds/api/users/default/uploads?v=2.1-এ তা করতে পারবেন।