বাস্তবায়ন: আংশিক প্রতিক্রিয়া

নিম্নলিখিত উদাহরণগুলি দেখায় যে কীভাবে YouTube ডেটা API (v3) এ আংশিক API প্রতিক্রিয়াগুলি পুনরুদ্ধার করতে হয়৷

দ্রষ্টব্য: API-এর শুরুর নির্দেশিকা আংশিক অনুরোধ এবং প্রতিক্রিয়া সম্পর্কে আরও বিশদ প্রদান করে।

v3 API আংশিক সংস্থান পুনরুদ্ধারের অনুমতি দেয় এবং প্রকৃতপক্ষে প্রয়োজন হয় যাতে অ্যাপ্লিকেশনগুলি অপ্রয়োজনীয় ডেটা স্থানান্তর, পার্সিং এবং সংরক্ষণ করা এড়াতে পারে। এই পদ্ধতিটি নিশ্চিত করে যে API নেটওয়ার্ক, CPU এবং মেমরি সংস্থানগুলি আরও দক্ষতার সাথে ব্যবহার করে।

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

মনে রাখবেন যে যদি একটি আপডেট অনুরোধ একটি সম্পদ সম্পত্তির জন্য একটি মান নির্দিষ্ট না করে যার পূর্বে একটি মান ছিল, তাহলে বিদ্যমান মানটি মুছে ফেলা হবে যদি নিম্নলিখিত শর্তগুলি সত্য হয়:

  • সম্পত্তির মান অনুরোধ দ্বারা সংশোধন করা যেতে পারে. (উদাহরণস্বরূপ, একটি video রিসোর্স আপডেট করার সময়, আপনি snippet.description প্রপার্টির মান আপডেট করতে পারেন, কিন্তু আপনি snippet.thumbnails অবজেক্টের মান আপডেট করতে পারবেন না।

  • অনুরোধের part প্যারামিটার মান সম্পদ ধারণ করে যে সম্পদ অংশ সনাক্ত করে।

উদাহরণ

উদাহরণস্বরূপ, ধরুন আপনি নীচে দেখানো video সংস্থান আপডেট করতে চান। (মনে রাখবেন যে নীচে দেখানো সমস্ত বৈশিষ্ট্য API এর মাধ্যমে আপডেট করা যেতে পারে এবং উদাহরণের সাথে প্রাসঙ্গিক নয় এমন সম্পদ বৈশিষ্ট্যগুলি বাদ দেওয়া হয়েছে।)

{
  "snippet": {
    "title": "Old video title",
    "description": "Old video description",
    "tags": ["keyword1","keyword2","keyword3"],
    "categoryId: 22
  },
  "status": {
    "privacyStatus": "private",
    "publishAt": "2014-09-01T12:00:00.0Z",
    "license": "youtube",
    "embeddable": True,
    "publicStatsViewable": True
  }
}

আপনি videos.update পদ্ধতিতে কল করুন এবং part প্যারামিটার মানটি snippet সেট করুন। API অনুরোধের মূল অংশে নিম্নলিখিত সংস্থান রয়েছে:

{
  "snippet": {
    "title": "New video title",
    "tags": ["keyword1","keyword2","keyword3"],
    "categoryId: 22
  }
}

এই অনুরোধ ভিডিওটির শিরোনাম আপডেট করে, এর বিবরণ মুছে দেয় এবং এর ট্যাগ বা বিভাগ আইডি পরিবর্তন করে না। ভিডিওর বিবরণ মুছে ফেলা হয়েছে কারণ অনুরোধটি snippet.description সম্পত্তির জন্য একটি মান নির্দিষ্ট করে না।

status অবজেক্টের বৈশিষ্ট্যগুলি মোটেও প্রভাবিত হয় না কারণ part প্যারামিটার মান অনুরোধটি আপডেট করা অংশগুলির একটি হিসাবে status অন্তর্ভুক্ত করে না। প্রকৃতপক্ষে, যদি API অনুরোধের মূল অংশে status অবজেক্ট অন্তর্ভুক্ত থাকে, তাহলে অনুরোধের বডিতে একটি অপ্রত্যাশিত অংশ অন্তর্ভুক্ত হওয়ার কারণে API একটি 400 (Bad Request) HTTP প্রতিক্রিয়া প্রদান করবে।