পশ্চাদপদ সামঞ্জস্য নির্দেশিকা

প্রতিটি YouTube ডেটা API অনুরোধ API-এর সংস্করণ নির্দিষ্ট করতে পারে যা YouTube-এর সেই অনুরোধটি পরিচালনা করতে ব্যবহার করা উচিত৷ যদি একটি অনুরোধ একটি API সংস্করণ নির্দিষ্ট না করে, তাহলে YouTube সেই অনুরোধটি পরিচালনা করতে API এর সবচেয়ে পুরানো সমর্থিত সংস্করণ ব্যবহার করবে৷ সবচেয়ে পুরানো সমর্থিত সংস্করণ বর্তমানে 1 । অনুগ্রহ করে API সংস্করণ নম্বরগুলির নিম্নলিখিত বৈশিষ্ট্যগুলি নোট করুন:

  • YouTube একটি নির্দিষ্ট API সংস্করণে আপডেট প্রকাশ করতে পারে যার জন্য রিলিজটিকে একটি নতুন সংস্করণ নম্বর বরাদ্দ করা হয়নি। এই পশ্চাদগামী-সামঞ্জস্যপূর্ণ আপডেটগুলিতে ঐচ্ছিক API বৈশিষ্ট্য, বাগ সংশোধন বা উভয়ই অন্তর্ভুক্ত থাকতে পারে।

  • API সংস্করণ নম্বরের একটি বৃদ্ধি এমন একটি রিলিজকে চিহ্নিত করে যাতে এমন পরিবর্তন রয়েছে যা পূর্ববর্তী API সংস্করণগুলির সাথে সামঞ্জস্যপূর্ণ নয়।

এই নথিটি একটি নির্দিষ্ট API সংস্করণে আপডেটের জন্য পশ্চাদমুখী-সামঞ্জস্যতার নির্দেশিকা সংজ্ঞায়িত করে, উপরে তালিকাভুক্ত প্রথম আইটেম। নির্দেশিকাগুলি নিম্নলিখিত ধরণের API কার্যকারিতার মধ্যে পার্থক্য করতে চায়:

  • নির্দেশিকাগুলি API কার্যকারিতা সনাক্ত করে যা পরিবর্তন হতে পারে এমনকি যদি আপনি API সংস্করণটি পরিবর্তন না করেন যা আপনার API অনুরোধগুলি পরিচালনা করতে ব্যবহার করা উচিত। আপনার কোড বিরতি ছাড়া এই পরিবর্তনগুলি পরিচালনা করা উচিত। উদাহরণস্বরূপ, যদি ইউটিউব API প্রতিক্রিয়াগুলিতে নতুন XML ট্যাগ যোগ করে, তাহলে আপনার কোডটি সেই ট্যাগগুলিকে উপেক্ষা করবে৷

  • নির্দেশিকাগুলি API কার্যকারিতাকেও সংজ্ঞায়িত করে যা YouTube একটি নির্দিষ্ট API সংস্করণ আপডেট করার সময় পরিবর্তন করতে চায় না। অন্য কথায়, ইউটিউব একটি নতুন API সংস্করণ প্রকাশ করলে আপনার শুধুমাত্র সেই কার্যকারিতা পরিবর্তনের আশা করা উচিত, এবং আপনার কোড এই ধরনের পরিবর্তনগুলি পরিচালনা করার চেষ্টা করার প্রয়োজন নেই৷

এই নথি সম্পর্কে

এই নথিতে নিম্নলিখিত বিভাগগুলি রয়েছে:

  • API অনুরোধ বিভাগটি HTTP অনুরোধ শিরোনাম, API অনুরোধের পরামিতি, XML উপাদানের নাম (যেমন এগুলি API অনুরোধগুলিতে প্রদর্শিত হয়) এবং অনুপযুক্তভাবে গঠিত API অনুরোধগুলির সাথে সম্পর্কিত পশ্চাদগামী-সামঞ্জস্যতা নির্দেশিকা সংজ্ঞায়িত করে।

  • API প্রতিক্রিয়া বিভাগটি XML উপাদানের নামগুলির সাথে সম্পর্কিত পশ্চাদমুখী-সামঞ্জস্যতার নির্দেশিকা সংজ্ঞায়িত করে (যেমন এগুলি API প্রতিক্রিয়াগুলিতে প্রদর্শিত হয়) এবং XML ট্যাগ এবং বৈশিষ্ট্যগুলি API প্রতিক্রিয়াগুলিতে প্রদর্শিত হয়।

  • সেরা অনুশীলন বিভাগে আপনার ক্লায়েন্ট অ্যাপ্লিকেশনের সাথে YouTube API একীভূত করার জন্য সুপারিশগুলি রূপরেখা দেয়৷

API অনুরোধ

কার্যকারিতা যা পরিবর্তন করার উদ্দেশ্যে নয়

  • বিদ্যমান অনুরোধের পরামিতি।

  • পরামিতিগুলির জন্য বিদ্যমান পরামিতি মান যেগুলি গণনাকৃত মান বা সেই প্যারামিটার মানগুলির অর্থ রয়েছে৷

  • API POST (সন্নিবেশ) বা PUT (আপডেট) অনুরোধগুলিতে ব্যবহৃত XML উপাদানগুলির নাম৷

  • প্রতিটি ধরনের API অনুরোধের জন্য প্রয়োজনীয় HTTP অনুরোধ শিরোনামের সেট। এই নির্দেশিকাটির অর্থ হল যে YouTube প্রয়োজনীয় HTTP অনুরোধ শিরোনাম যোগ করতে বা বিদ্যমান ঐচ্ছিক অনুরোধ শিরোনামগুলিকে প্রয়োজনীয় পরিবর্তন করতে চায় না৷

  • একটি API অনুরোধে অসমর্থিত প্যারামিটার উপেক্ষা করার আচরণ যদি না অনুরোধটি strict প্যারামিটার ব্যবহার করে, যা YouTube-কে একটি API অনুরোধ প্রত্যাখ্যান করার নির্দেশ দেয় যাতে অবৈধ অনুরোধের প্যারামিটার রয়েছে।

পরিবর্তিত হতে পারে যে কার্যকারিতা

  • YouTube ঐচ্ছিক অনুরোধের প্যারামিটার যোগ করতে পারে।

  • YouTube বিদ্যমান প্যারামিটারগুলির জন্য নতুন মান যোগ করতে পারে যেগুলির মানগুলির সেট রয়েছে৷

  • বৈধ প্যারামিটারে অবৈধ প্যারামিটার মান রয়েছে এমন যেকোনো অনুরোধ YouTube প্রত্যাখ্যান করতে পারে। ফলস্বরূপ, অনুপযুক্তভাবে গঠিত অনুরোধগুলি যেগুলি অত্যধিক নম্র পার্সিংয়ের কারণে গৃহীত হয়েছে তা প্রত্যাখ্যান করা হতে পারে যদি পার্সিং যুক্তি সংশোধন করা হয়।

  • YouTube ঐচ্ছিক HTTP অনুরোধ শিরোনাম যোগ করতে পারে.

  • একটি সংস্থান সন্নিবেশ বা আপডেট করার সময় YouTube যে তথ্যটি ধরে রাখে (সঞ্চয় করে) তা পরিবর্তন করতে পারে। যাইহোক, এই ধরনের সিদ্ধান্ত সংশ্লিষ্ট API অনুরোধের সিনট্যাক্সে পরিবর্তন বা পরিবর্তনের প্রয়োজন হবে না।

  • ইউটিউব ব্রাউজযোগ্য বিভাগগুলির সেট বা নতুন আপলোড করা ভিডিওগুলি বরাদ্দ করা যেতে পারে এমন বিভাগগুলির সেট পরিবর্তন করতে পারে৷

  • অনথিভুক্ত কার্যকারিতা যে কোনো সময় সরানো বা পরিবর্তন হতে পারে.

API প্রতিক্রিয়া

কার্যকারিতা যা পরিবর্তন করার উদ্দেশ্যে নয়

  • বিদ্যমান XML ট্যাগের নাম।

  • সেই স্পেসিফিকেশনে সংজ্ঞায়িত উপাদানগুলির ক্রম নির্ধারণ করতে মিডিয়া RSS স্পেসিফিকেশন অনুসরণ করুন এবং যেগুলি একটি ফিড এন্ট্রিতে একাধিকবার প্রদর্শিত হয়। উদাহরণস্বরূপ, যদি একটি এন্ট্রিতে একাধিক <media:thumbnail> ট্যাগ থাকে, তাহলে সেগুলি গুরুত্ব অনুসারে সাজানো হয়।

  • একটি ফিড বা ফিড এন্ট্রিতে বর্ণিত আইটেমের ধরন চিহ্নিত করে <category> ট্যাগের term মান। <feed> বা <entry> ট্যাগের মধ্যে, <id> ট্যাগটি এন্ট্রি দ্বারা চিহ্নিত অনন্য সংস্থানকে নির্দিষ্ট করে, এবং একটি <category> ট্যাগ এন্ট্রি দ্বারা বর্ণিত সম্পদের ধরণকে চিহ্নিত করে। এই <category> ট্যাগের জন্য, স্কিম অ্যাট্রিবিউটের মান হল http://schemas.google.com/g/2005#kind এবং শব্দ বৈশিষ্ট্যের মান নির্দেশ করে যে ফিড এন্ট্রিগুলি ভিডিও, প্লেলিস্ট লিঙ্ক, সদস্যতা, পরিচিতি বা আরেকটি সত্তা টাইপ।

পরিবর্তিত হতে পারে যে কার্যকারিতা

  • YouTube API প্রতিক্রিয়াগুলিতে নতুন XML ট্যাগ যোগ করতে পারে।

  • YouTube বিদ্যমান XML ট্যাগে নতুন বৈশিষ্ট্য যোগ করতে পারে।

  • বিদ্যমান API ট্যাগগুলি বিভিন্ন মানের সাথে পুনরাবৃত্তি হতে পারে। উদাহরণস্বরূপ, YouTube একটি ভিন্ন type মান সহ একটি নতুন <media:restriction> ট্যাগ বা একটি ভিন্ন scheme এবং role সহ একটি নতুন <media:credit> ট্যাগ যোগ করতে পারে।

  • API প্রতিক্রিয়াতে XML ট্যাগ এবং বৈশিষ্ট্যগুলির ক্রম পরিবর্তিত হতে পারে৷

  • API প্রতিক্রিয়া থেকে ঐচ্ছিক চাইল্ড ট্যাগ মুছে ফেলা হতে পারে।

  • অনথিভুক্ত কার্যকারিতা যে কোনো সময় সরানো বা পরিবর্তন হতে পারে.

সেরা অনুশীলন

  • একটি এন্ট্রি সনাক্ত করতে <id> ট্যাগ মান ব্যবহার করুন।

  • একটি এন্ট্রি পুনরুদ্ধার করতে self লিঙ্ক ব্যবহার করুন.

  • একটি এন্ট্রি সম্পাদনা বা আপডেট করতে edit লিঙ্কটি ব্যবহার করুন।

  • একটি ভিডিও এন্ট্রির জন্য <yt:videoid> ট্যাগ মানটি ব্যবহার করুন যে মানটি YouTube ব্যবহার করে সেই ভিডিওটিকে অনন্যভাবে সনাক্ত করতে। একটি লিঙ্ক থেকে ভিডিও আইডি পার্স করবেন না.

  • ফিডের মধ্যে নেভিগেট করতে <link> , <content> এবং <gd:feedLink> ট্যাগে চিহ্নিত ইউআরএল ব্যবহার করুন। YouTube ইউআরএলগুলির একটি সীমিত সেট সমর্থন করে যা আপনি নির্দিষ্ট ফিডগুলি পুনরুদ্ধার করতে নির্ভরযোগ্যভাবে তৈরি করতে পারেন। নীচে তালিকাভুক্ত ফিড ইউআরএলগুলি ছাড়াও, আপনার নিজের ফিড ইউআরএলগুলি তৈরি করা উচিত নয় কারণ তারা অপ্রত্যাশিতভাবে কাজ করা বন্ধ করে দিতে পারে।

    • /feeds/api/videos/ <videoid>
    • /feeds/api/users/default
    • /feeds/api/users/default/uploads
    • /feeds/api/users/default/favorites
    • /feeds/api/users/default/contacts
    • /feeds/api/users/default/inbox
    • /feeds/api/users/default/playlists
    • /feeds/api/users/default/subscriptions
    • /feeds/api/users/default/news subscriptionvideos
    • /feeds/api/standardfeeds/ regionID / feedID _CATEGORY_NAME (আরো তথ্যের জন্য রেফারেন্স গাইড দেখুন)

  • একটি API প্রতিক্রিয়াতে URL থেকে সংখ্যাসূচক বা আলফানিউমেরিক সনাক্তকরণ পার্স করার চেষ্টা করবেন না। API প্রতিক্রিয়াগুলির মধ্যে শনাক্তকারীদের জন্য নির্দিষ্ট ট্যাগ অন্তর্ভুক্ত থাকে যা YouTube ওয়েবসাইটের সংস্থানগুলির সাথে লিঙ্ক করে, যেমন ভিডিও আইডি ( <yt:videoid> ) এবং ব্যবহারকারীর নাম ( <name> এবং <media:credit>).

  • আপনি যদি তথ্য সন্নিবেশ (POST) বা আপডেট (PUT) করার জন্য একটি API অনুরোধ জমা দেন, তাহলে অনুরোধের কোন ট্যাগ মানগুলি YouTube দ্বারা সংরক্ষিত ছিল তা নির্ধারণ করতে সেই অনুরোধের XML প্রতিক্রিয়া ব্যবহার করুন৷ API অনুরোধের জন্য পশ্চাদগামী-সামঞ্জস্যতার নির্দেশিকাগুলিতে উল্লিখিত হিসাবে, YouTube একটি সংস্থান সন্নিবেশ বা আপডেট করার সময় যে তথ্যটি ধরে রাখে (সঞ্চয় করে) তা পরিবর্তন করতে পারে, যার অর্থ অনুরোধের কিছু ট্যাগ উপেক্ষা করা হতে পারে৷

  • যখন আপনি একটি XML ফিড পুনরুদ্ধার করেন, আপনার অ্যাপ্লিকেশন ব্যবহারকারীকে সেই এন্ট্রি আপডেট করতে সক্ষম করে তাহলে একটি ফিড এন্ট্রি সম্পর্কিত অচেনা XML ট্যাগ এবং বৈশিষ্ট্যগুলি সঞ্চয় করুন৷ ব্যবহারকারী যদি রিসোর্স আপডেট করে, তাহলে আপনার অ্যাপ্লিকেশানে আপডেটের অনুরোধে কোনো অচেনা ট্যাগ এবং গুণাবলী অন্তর্ভুক্ত করা উচিত। এই অনুশীলনটি নিশ্চিত করে যে আপনার অ্যাপ্লিকেশনটি কোনও সংস্থান আপডেট করার প্রক্রিয়াতে নতুন API বৈশিষ্ট্য সম্পর্কিত তথ্য অসাবধানতাবশত মুছে ফেলবে না।

    নিম্নলিখিত উদাহরণটি এই সর্বোত্তম অনুশীলনকে ব্যাখ্যা করে:

    1. আপনার অ্যাপ্লিকেশন একজন ব্যবহারকারীকে একটি ভিডিও বিবরণ আপডেট করতে সক্ষম করে।
    2. আপনার অ্যাপ্লিকেশন API ব্যবহার করে ভিডিও এন্ট্রি পুনরুদ্ধার করে কিন্তু এন্ট্রিতে থাকা ট্যাগগুলির একটিকে চিনতে পারে না৷
    3. ব্যবহারকারী ভিডিও বিবরণ সংশোধন করে.
    4. আপনার অ্যাপ্লিকেশনটিকে API এ একটি সম্পূর্ণ ভিডিও এন্ট্রি পাঠাতে হবে। এন্ট্রিতে ধাপ 2 থেকে অচেনা ট্যাগ অন্তর্ভুক্ত করতে হবে; অন্যথায়, সেই মান মুছে ফেলা হতে পারে।

  • ট্যাগ মান প্রদর্শন করার চেষ্টা করার আগে নিশ্চিত করুন যে একটি ট্যাগ বিদ্যমান এবং একটি নন-নাল মান রয়েছে।

  • উপরে উল্লিখিত হিসাবে, YouTube বিদ্যমান ট্যাগ বা বৈশিষ্ট্যগুলির জন্য নতুন মান যোগ করতে পারে যেগুলির মানগুলির সেট রয়েছে৷ একটি নিয়ম হিসাবে, আপনার কোডের XML উপাদানগুলির মানগুলিকে পার্স করা উচিত যেগুলির মানগুলির সেট রয়েছে এবং তারপর সেই মানগুলির জন্য উপযুক্ত ক্রিয়াগুলি সংজ্ঞায়িত করা উচিত৷ উপাদানটির জন্য শুধুমাত্র একটি সম্ভাব্য মান গণনা করা হলেও এই অনুশীলনটি সুপারিশ করা হয়।

    উদাহরণস্বরূপ, <media:credit> ট্যাগ একটি ভিডিওর মালিককে চিহ্নিত করে৷ ট্যাগের role বৈশিষ্ট্যের জন্য একমাত্র নথিভুক্ত মান হল uploader , যা নির্দেশ করে যে ভিডিওটি একটি YouTube অংশীদার দ্বারা আপলোড করা হয়েছে৷ এই সর্বোত্তম অনুশীলনটি নির্দেশ করে যে ভিডিওর মালিক হিসাবে সংশ্লিষ্ট ব্যবহারকারীকে চিহ্নিত করার আগে আপনার অ্যাপ্লিকেশনটি নিশ্চিত করা উচিত যে ট্যাগের role বৈশিষ্ট্যের মানটি প্রকৃতপক্ষে uploader । (এই সতর্কতা নিশ্চিত করে যে আপনার কোডটি ভুলভাবে কোনো ভিডিওর মালিককে চিহ্নিত করে না যদি YouTube অন্য ধরনের ক্রেডিট যোগ করে - যেমন পরিচালক - একটি ভিডিওর জন্য।)

    • যদি একটি ট্যাগের মানগুলির একটি গণনাকৃত সেট থাকে এবং আপনি সেই ট্যাগের মান চিনতে না পারেন, তাহলে আপনার সেই ট্যাগটি প্রদর্শিত সম্পূর্ণ <entry> উপেক্ষা করা উচিত।

    • আপনি যদি http://gdata.youtube.com/schemas/2007/subscriptiontypes.cat এর একটি স্কিম অ্যাট্রিবিউট মান আছে এমন <category> ট্যাগের জন্য term অ্যাট্রিবিউটের মান চিনতে না পারলে একটি scheme ফিড এন্ট্রি উপেক্ষা করুন। এই নির্দিষ্ট ট্যাগটি এন্ট্রি দ্বারা চিহ্নিত সাবস্ক্রিপশনের ধরন সনাক্ত করে। যদি আপনার অ্যাপ্লিকেশনটি সাবস্ক্রিপশনের ধরণটিকে চিনতে না পারে তবে এটি সেই এন্ট্রি সম্পর্কে তথ্য প্রদর্শন করবে না।

    • যদি অন্য কোনো অ্যাট্রিবিউটের মানগুলির একটি গণনাকৃত সেট থাকে এবং আপনি সেই অ্যাট্রিবিউটের মান চিনতে না পারেন, তাহলে আপনার সেই ট্যাগটিকে উপেক্ষা করা উচিত যেখানে অ্যাট্রিবিউটটি দেখা যাচ্ছে।

  • আপনার অ্যাপ্লিকেশন কোড যে কোনো সময় একটি yt:error বার্তা আশা করা উচিত। একটি API অপারেশন ব্যর্থ হলে, আপনার অ্যাপ্লিকেশনটি ত্রুটি সনাক্ত করবে এবং ব্যবহারকারীকে একটি অর্থপূর্ণ বার্তা প্রদর্শন করবে৷

  • ইউটিউব যেকোনো সময় ভিডিও শ্রেণীবদ্ধ করার জন্য নতুন বিভাগ যোগ করতে পারে। ইউটিউব বিদ্যমান বিভাগগুলিকেও আপডেট বা অবমূল্যায়ন করতে পারে৷ আপনি http://gdata.youtube.com/schemas/2007/categories.cat থেকে একটি বর্তমান বিভাগ ফাইল পুনরুদ্ধার করতে পারেন।

    • যদি আপনার অ্যাপ্লিকেশন ব্যবহারকারীদের বিভাগ অনুসারে ভিডিও ব্রাউজ করতে বা ভিডিও আপলোড করতে সক্ষম করে, তাহলে সাপ্তাহিক ভিত্তিতে একটি আপডেট করা বিভাগ ফাইল পুনরুদ্ধার করুন।

    • যদি আপনার অ্যাপ্লিকেশন ব্যবহারকারীদের বিভাগ অনুসারে ভিডিও ব্রাউজ করতে সক্ষম করে, তবে একটি আপডেট করা বিভাগ ফাইল পুনরুদ্ধার করুন যদি API একটি বিভাগ অনুসন্ধানের প্রতিক্রিয়া হিসাবে একটি খালি ফিড ফেরত দেয়।

    • যদি আপনার অ্যাপ্লিকেশন ব্যবহারকারীদের ভিডিও আপলোড করতে সক্ষম করে, তবে একটি ভিডিও আপলোড করার আগে একটি আপডেট করা বিভাগ ফাইল পুনরুদ্ধার করুন এবং নিশ্চিত করুন যে আপলোড করা ভিডিওর সাথে সম্পর্কিত বিভাগটি এখনও বরাদ্দযোগ্য। আরও তথ্যের জন্য রেফারেন্স গাইড দেখুন। (মনে রাখবেন যে আপনি যদি একটি অ-অর্পণযোগ্য বিভাগে একটি ভিডিও বরাদ্দ করার চেষ্টা করেন, তাহলে API একটি ত্রুটি বার্তা প্রদান করবে যার জন্য <code> ট্যাগের মান deprecated হয়েছে।)

  • একটি ফিডে পূর্ববর্তী এবং/অথবা পরবর্তী পৃষ্ঠার এন্ট্রিগুলির জন্য পৃষ্ঠা সংখ্যা লিঙ্কগুলি সনাক্ত করতে একটি API প্রতিক্রিয়াতে <link> ট্যাগগুলি ব্যবহার করুন৷ আরও তথ্যের জন্য রেফারেন্স গাইডের ফলাফলের মাধ্যমে পেজিং বিভাগটি দেখুন।