YouTube Data API (v3)-তে কীভাবে আংশিক API উত্তর পাওয়া যায় তা নিম্নলিখিত উদাহরণে দেখানো হয়েছে।
মনে রাখবেন: API-এর শুরু করা সংক্রান্ত নির্দেশিকায় আংশিক অনুরোধ ও উত্তর সম্পর্কে আরও বিস্তারিত তথ্য দেওয়া আছে।
v3 API আংশিক রিসোর্স ফিরিয়ে আনার অনুমতি দেয় এবং আসলে এর প্রয়োজন হয়, যাতে অ্যাপ্লিকেশন অপ্রয়োজনীয় ডেটা ট্রান্সফার, পার্স ও স্টোর করা এড়াতে পারে। এই পদ্ধতি এটিও নিশ্চিত করে যে API আরও দক্ষতার সাথে নেটওয়ার্ক, সিপিইউ এবং মেমরি রিসোর্স ব্যবহার করে।
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 উত্তর রিটার্ন করবে।