চ্যানেল আইডি নিয়ে কাজ করুন

জেফ পসনিক, ইউটিউব ডেভেলপার সম্পর্ক – জুন ২০১৩

এক বছরেরও বেশি সময় ধরে, YouTube চ্যানেলের সাথে Google+ প্রোফাইল লিঙ্ক করা সম্ভব হয়েছে, এবং সেই প্রোফাইল লিঙ্কের ফলে কিছু ডেটা API v2 প্রতিক্রিয়া কীভাবে পরিবর্তিত হয়েছে সে সম্পর্কে আমরা ব্লগ করেছি । অতি সম্প্রতি, নতুন YouTube চ্যানেল তৈরি করা সম্ভব হয়েছে যেগুলির সাথে যুক্ত একটি ঐতিহ্যগত YouTube ব্যবহারকারীর নাম নেই এবং পরিবর্তে, শুধুমাত্র তাদের Google+ প্রোফাইল দ্বারা চিহ্নিত করা হয়েছে ৷ সেই ব্লগ পোস্টের বেশিরভাগ তথ্য এখনও প্রযোজ্য, কিন্তু এই অতিরিক্ত বলিরেখা ইউটিউব চ্যানেল সম্পর্কে কিছু মৌলিক অনুমানকে অকার্যকর করে – যেমন প্রত্যেকটি সর্বদা একটি অনন্য YouTube ব্যবহারকারী নামের সাথে যুক্ত থাকবে – এবং আমরা কিছু অতিরিক্ত সেরা অনুশীলনের সাথে অনুসরণ করতে চেয়েছিলাম চ্যানেলের সমস্ত স্বাদের সাথে কাজ করে এমন কোড লিখুন।

ডেটা API v3-এ চ্যানেল আইডি

চ্যানেলগুলির সাথে কাজ করে এমন সমস্ত v3 ক্রিয়াকলাপগুলি শুধুমাত্র সেই চ্যানেলগুলি সনাক্ত করার উপায় হিসাবে চ্যানেল আইডি ব্যবহার করে৷ একটি নির্দিষ্ট YouTube ব্যবহারকারীর চ্যানেলের ID API-এর v2 এবং v3 উভয় ক্ষেত্রেই অভিন্ন, সংস্করণগুলির মধ্যে স্থানান্তরকে সহজ করে৷ চ্যানেল আইডিগুলির উপর এই সম্পূর্ণ নির্ভরতা ডেভেলপারদের জন্য বিভ্রান্তিকর হতে পারে যারা আগে API পদ্ধতিতে YouTube ইউজারনেম পাস করতে অভ্যস্ত ছিল, কিন্তু ভি 3 এমনভাবে ডিজাইন করা হয়েছে যাতে লিগ্যাসি ইউজারনেম সহ এবং ছাড়া চ্যানেলগুলিকে একইভাবে ব্যবহার করা হয় এবং এর অর্থ হল সর্বত্র চ্যানেল আইডি ব্যবহার করা৷

আপনি যদি 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 ") পদ্ধতিটি কাজে আসবে৷ প্রতিক্রিয়ায় একাধিক আইটেম কল ফেরানোর সম্ভাবনা মোকাবেলা করার জন্য আপনাকে প্রস্তুত থাকতে হবে, যেহেতু প্রদর্শনের নামগুলি অনন্য নয়।

ডেটা API v2-এ চ্যানেল আইডি

দ্রষ্টব্য: YouTube ডেটা API (v2) ফেব্রুয়ারী 26, 2014 থেকে অবচয়িত হয়েছে এবং API বাতিল করা হয়েছে৷ এখনও v2 API ব্যবহার করা অ্যাপ্লিকেশনগুলিকে অবিলম্বে v3 API-এ স্থানান্তরিত করা উচিত।

পুরানো ডেটা 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.1
https://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 এ তা করতে পারেন।