Search: list

API অনুরোধে উল্লেখ করা কোয়েরি প্যারামিটারের সাথে ম্যাচ করে এমন সার্চ ফলাফলের একটি সংগ্রহ রিটার্ন করে। ডিফল্ট হিসেবে, সার্চ ফলাফলের সেট থেকে ম্যাচ করা video, channel ও playlist রিসোর্স শনাক্ত করা হয়, তবে আপনি কোয়েরি কনফিগার করে শুধুমাত্র নির্দিষ্ট ধরনের রিসোর্সও পেতে পারেন।

কোটার উপর প্রভাব: প্রতিদিন ১০০টি কল। এই পদ্ধতিতে কল করলে, সার্চ কোয়েরি কোটা বাকেটে ১ ইউনিট কোটা খরচ হয়।

সাধারণ ব্যবহারিক ক্ষেত্র

অনুরোধ করুন

HTTP অনুরোধ

GET https://www.googleapis.com/youtube/v3/search

প্যারামিটারগুলি

এই কোয়েরি যেসব প্যারামিটার ব্যবহার করতে পারে, তা নিম্নলিখিত সারণীতে উল্লেখ করা হয়েছে। তালিকায় থাকা সব প্যারামিটারই হল কোয়েরি প্যারামিটার।

প্যারামিটারগুলি
প্রয়োজনীয় প্যারামিটার
part string
part প্যারামিটারটি এক বা একাধিক search রিসোর্স প্রপার্টির কমা-সেপারেটেড তালিকা নির্দিষ্ট করে যা API উত্তর অন্তর্ভুক্ত করবে। প্যারামিটারের মান snippet-এ সেট করুন।
ফিল্টার (নিম্নলিখিত প্যারামিটারের মধ্যে ০ বা ১টি উল্লেখ করুন)
forContentOwner boolean
এই প্যারামিটারটি শুধুমাত্র যথাযথভাবে অনুমোদিত অনুরোধে ব্যবহার করা যেতে পারে এবং এটি শুধুমাত্র YouTube কন্টেন্ট পার্টনারদের জন্য।

forContentOwner প্যারামিটারটি সার্চকে সীমাবদ্ধ করে শুধুমাত্র onBehalfOfContentOwner প্যারামিটার দ্বারা শনাক্ত করা কন্টেন্টের মালিকের ভিডিওগুলি পুনরুদ্ধার করে। forContentOwner-এর মান true হিসেবে সেট করা থাকলে, অনুরোধকে এইসব প্রয়োজনীয়তাও পূরণ করতে হবে:
  • onBehalfOfContentOwner প্যারামিটারটি প্রয়োজন।
  • অনুরোধ অনুমোদনকারী ব্যবহারকারীকে অবশ্যই নির্দিষ্ট কন্টেন্টের মালিকের সাথে লিঙ্ক করা অ্যাকাউন্ট ব্যবহার করতে হবে।
  • type প্যারামিটারের ভ্যালু অবশ্যই video-এ সেট করতে হবে।
  • নিম্নলিখিত অন্যান্য প্যারামিটারগুলির কোনওটিই সেট করা যাবে না: videoDefinition, videoDimension, videoDuration, videoEmbeddable, videoLicense, videoPaidProductPlacement, videoSyndicated, videoType.
forDeveloper boolean
এই প্যারামিটার শুধুমাত্র সঠিকভাবে অনুমোদিত অনুরোধে ব্যবহার করা যেতে পারে। forDeveloper প্যারামিটার সার্চকে সীমাবদ্ধ করে যাতে শুধুমাত্র ডেভেলপারের অ্যাপ্লিকেশন বা ওয়েবসাইটের মাধ্যমে আপলোড করা ভিডিওগুলিই খুঁজে পাওয়া যায়। API সার্ভার, ডেভেলপারকে শনাক্ত করার জন্য অনুরোধের অনুমোদন সংক্রান্ত ক্রেডেনশিয়াল ব্যবহার করে। q প্যারামিটারের মতো ঐচ্ছিক সার্চ প্যারামিটারের সাথে forDeveloper প্যারামিটার ব্যবহার করা যেতে পারে।

এই ফিচারের জন্য, Google Developers Console-এ ডেভেলপার অ্যাপ্লিকেশনের সাথে যুক্ত প্রজেক্ট নম্বর দিয়ে প্রতিটি আপলোড করা ভিডিও অটোমেটিক ট্যাগ করা হয়।

পরে কোনও সার্চ অনুরোধ forDeveloper প্যারামিটারকে true হিসেবে সেট করলে, API সার্ভার ডেভেলপারকে শনাক্ত করার জন্য অনুরোধের অনুমোদন সংক্রান্ত ক্রেডেনশিয়াল ব্যবহার করে। তাই, কোনও ডেভেলপার তার নিজের অ্যাপ বা ওয়েবসাইটের মাধ্যমে আপলোড করা ভিডিওর ফলাফল সীমাবদ্ধ করতে পারেন, তবে অন্যান্য অ্যাপ বা সাইটের মাধ্যমে আপলোড করা ভিডিওর ফলাফল সীমাবদ্ধ করতে পারবেন না।
forMine boolean
এই প্যারামিটার শুধুমাত্র যথাযথভাবে অনুমোদিত অনুরোধে ব্যবহার করা যেতে পারে। forMine প্যারামিটারটি শুধুমাত্র যাচাই করা ব্যবহারকারীর মালিকানাধীন ভিডিওগুলি পুনরুদ্ধার করার জন্য সার্চ সীমাবদ্ধ করে। আপনি এই প্যারামিটার true হিসেবে সেট করলে, type প্যারামিটারের ভ্যালুও video হিসেবে সেট করতে হবে। এছাড়াও, একই অনুরোধে নিম্নলিখিত অন্যান্য প্যারামিটারের কোনওটিই সেট করা যাবে না: videoDefinition, videoDimension, videoDuration, videoEmbeddable, videoLicense, videoPaidProductPlacement, videoSyndicated, videoType।
ঐচ্ছিক প্যারামিটার
channelId string
channelId প্যারামিটারটি নির্দেশ করে যে API রেসপন্সে শুধুমাত্র চ্যানেলের তৈরি করা রিসোর্স থাকতে হবে।

মনে রাখবেন: আপনার অনুরোধে channelId প্যারামিটারের জন্য কোনও মান নির্দিষ্ট করা থাকলে এবং type প্যারামিটারের মান video-এ সেট করা থাকলে, সার্চ ফলাফল সর্বাধিক ৫০০টি ভিডিওতে সীমাবদ্ধ থাকে, তবে এটি forContentOwner, forDeveloper বা forMine ফিল্টারের মধ্যে কোনও একটি সেট করে না।
channelType string
channelType প্যারামিটার আপনাকে নির্দিষ্ট ধরনের চ্যানেলে সার্চ সীমাবদ্ধ করতে দেয়।

গ্রহণযোগ্য মান হল:
  • any – সব চ্যানেল ফিরিয়ে দেয়।
  • show – শুধুমাত্র শোয়ের তথ্য খোঁজো।
eventType string
eventType প্যারামিটার ব্রডকাস্ট ইভেন্টের জন্য সার্চ সীমাবদ্ধ করে। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video হিসেবে সেট করতে হবে।

গ্রহণযোগ্য ভ্যালু হল:
  • completed – শুধুমাত্র সম্পূর্ণ হওয়া ব্রডকাস্ট অন্তর্ভুক্ত করুন।
  • live – শুধুমাত্র অ্যাক্টিভ ব্রডকাস্ট অন্তর্ভুক্ত করুন।
  • upcoming – শুধুমাত্র আসন্ন ব্রডকাস্ট অন্তর্ভুক্ত করুন।
location string
locationRadius প্যারামিটারের সাথে location প্যারামিটার একটি বৃত্তাকার ভৌগোলিক এলাকা নির্ধারণ করে এবং সেইসাথে, মেটাডেটাতে উল্লেখ করা ভৌগোলিক লোকেশন সেই এলাকার মধ্যে পড়লে, সার্চকে সেইসব ভিডিওর মধ্যে সীমাবদ্ধ করে। প্যারামিটারের মান হল একটি স্ট্রিং যা অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক নির্দিষ্ট করে, যেমন (37.42307,-122.08427)।

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

মনে রাখবেন: আপনি যদি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করেন, তাহলে আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video-এ সেট করতে হবে।
locationRadius string
locationRadius প্যারামিটার, location প্যারামিটারের সাথে যুক্ত হয়ে, একটি বৃত্তাকার ভৌগোলিক এলাকা নির্ধারণ করে।

প্যারামিটারের ভ্যালু অবশ্যই একটি ফ্লোটিং পয়েন্ট নম্বর হতে হবে যার পরে একটি পরিমাপের ইউনিট থাকবে। সঠিক পরিমাপের একক হল m, km, ft ও mi। যেমন, সঠিক প্যারামিটারের মানের মধ্যে 1500m, 5km, 10000ft ও 0.75mi অন্তর্ভুক্ত। API-তে ১০০০ কিলোমিটারের বেশি locationRadius প্যারামিটারের মান কাজ করে না।

মনে রাখবেন: আরও তথ্যের জন্য location প্যারামিটারের সংজ্ঞা দেখুন।
maxResults unsigned integer
maxResults প্যারামিটারটি ফলাফলের সেটে সর্বাধিক কতগুলি আইটেম রিটার্ন করা উচিত তা নির্দিষ্ট করে। 0 থেকে 50 পর্যন্ত ভ্যালু ব্যবহার করা যাবে। ডিফল্ট ভ্যালু হল 5।

onBehalfOfContentOwner string
এই প্যারামিটার শুধুমাত্র যথাযথভাবে অনুমোদিত অনুরোধে ব্যবহার করা যেতে পারে। মনে রাখবেন: এই প্যারামিটারটি শুধুমাত্র YouTube কন্টেন্ট পার্টনারদের জন্য তৈরি করা হয়েছে।

onBehalfOfContentOwner প্যারামিটারটি ইঙ্গিত করে যে অনুরোধের অনুমোদনের ক্রেডেনশিয়াল একটি YouTube CMS ব্যবহারকারীকে শনাক্ত করে যিনি প্যারামিটার ভ্যালুতে নির্দিষ্ট করা কন্টেন্টের মালিকের হয়ে কাজ করছেন। এই প্যারামিটারটি YouTube কন্টেন্ট পার্টনারদের জন্য তৈরি করা হয়েছে যারা একাধিক YouTube চ্যানেলের মালিকানা ও ম্যানেজমেন্ট করেন। এটি কন্টেন্টের মালিকদের একবার যাচাইকরণ করার এবং প্রতিটি চ্যানেলের জন্য আলাদাভাবে যাচাইকরণ সংক্রান্ত ক্রেডেনশিয়াল প্রদান না করেই তাদের সমস্ত ভিডিও এবং চ্যানেল ডেটা অ্যাক্সেস করার অনুমতি দেয়। ব্যবহারকারী যে CMS অ্যাকাউন্ট দিয়ে যাচাই করেন সেটি নির্দিষ্ট YouTube কন্টেন্ট মালিকের সাথে লিঙ্ক করা থাকতে হবে।
order string
order প্যারামিটারটি API রেসপন্সে রিসোর্স অর্ডার করার জন্য ব্যবহার করা পদ্ধতি নির্দিষ্ট করে। ডিফল্ট ভ্যালু হল relevance।

গ্রহণযোগ্য ভ্যালু হল:
  • date – রিসোর্সগুলি তৈরি করার তারিখের ভিত্তিতে বিপরীত কালানুক্রমিক ক্রমে সাজানো হয়। মনে রাখবেন: এটি সার্চ ইন্ডেক্সের উপর নির্ভর করে বলে, নতুন কন্টেন্টের ক্ষেত্রে ইন্ডেক্সিংয়ে দেরি হতে পারে অথবা আপনি অসম্পূর্ণ ফলাফল পেতে পারেন। কোনও চ্যানেলের সবচেয়ে সম্প্রতি আপলোড করা ভিডিও নির্ভরযোগ্যভাবে রিট্রিভ করতে, search.list ব্যবহার করবেন না। পরিবর্তে, চ্যানেলের আপলোড করা প্লেলিস্ট ফেচ করতে playlistItems.list পদ্ধতি ব্যবহার করুন।
  • rating – রিসোর্সগুলি সর্বোচ্চ থেকে সর্বনিম্ন রেটিং অনুসারে সাজানো হয়েছে। মনে রাখবেন: এই রেটিং ইন্টার্নাল অ্যালগরিদমিক স্কোর ব্যবহার করে গণনা করা হয় এবং এটি লাইকের সংখ্যা কমার সাথে সরাসরি সম্পর্কিত নয়।
  • relevance – সার্চ কোয়েরির সাথে প্রাসঙ্গিকতার ভিত্তিতে রিসোর্স সাজানো হয়। এটি এই প্যারামিটারের ডিফল্ট ভ্যালু।
  • title – রিসোর্সকে শিরোনাম অনুযায়ী বর্ণানুক্রমিকভাবে সাজানো হয়।
  • videoCount – আপলোড করা ভিডিওর সংখ্যা অনুযায়ী চ্যানেলগুলি বড় থেকে ছোট ক্রম অনুসারে সাজানো হয়েছে।
  • viewCount – রিসোর্সগুলি সর্বাধিক থেকে সর্বনিম্ন ভিউয়ের সংখ্যা অনুযায়ী সাজানো হয়েছে। লাইভ সম্প্রচারের ক্ষেত্রে, সম্প্রচার চলাকালীন একই সময়ে ভিডিওটি দেখা দর্শকের সংখ্যা অনুযায়ী ভিডিও সাজানো হয়।
pageToken string
pageToken প্যারামিটারটি ফলাফল সেটের একটি নির্দিষ্ট পৃষ্ঠা শনাক্ত করে যা ফেরত দেওয়া উচিত। API উত্তরের মধ্যে, nextPageToken এবং prevPageToken প্রপার্টি, অন্যান্য যেসব পৃষ্ঠা রিট্রিভ করা যেতে পারে সেগুলিকে শনাক্ত করে।
publishedAfter datetime
publishedAfter প্যারামিটারটি নির্দেশ করে যে API রেসপন্সে শুধুমাত্র নির্দিষ্ট সময়ে বা তার পরে তৈরি করা রিসোর্স অন্তর্ভুক্ত করা উচিত। এই ভ্যালু হল RFC 3339 ফর্ম্যাট করা তারিখ-সময় ভ্যালু (1970-01-01T00:00:00Z)।
publishedBefore datetime
publishedBefore প্যারামিটার থেকে বোঝা যায় যে API রেসপন্সে শুধু নির্দিষ্ট সময়ের আগে বা সেই সময়ে তৈরি করা রিসোর্সই থাকতে হবে। এই ভ্যালু হল RFC 3339 ফর্ম্যাটে লেখা তারিখ-সময় ভ্যালু (1970-01-01T00:00:00Z)।
q string
q প্যারামিটারটি সার্চ করার জন্য কোয়েরি শব্দ নির্দিষ্ট করে।

আপনার অনুরোধে ভিডিও বাদ দিতে বা একাধিক সার্চ করা শব্দের মধ্যে একটির সাথে সম্পর্কিত ভিডিও খুঁজতে বুলিয়ান NOT (-) এবং OR (|) অপারেটরও ব্যবহার করতে পারেন। যেমন, "নৌকা চালানো" বা "পাল তোলা"র সাথে ম্যাচ করে এমন ভিডিও সার্চ করতে, q প্যারামিটারের ভ্যালু boating|sailing হিসেবে সেট করুন। একইভাবে, "নৌকা চালানো" বা "পাল তোলা"র সাথে ম্যাচ করে কিন্তু "মাছ ধরা"র সাথে ম্যাচ করে না এমন ভিডিও সার্চ করতে, q প্যারামিটারের ভ্যালু boating|sailing -fishing হিসেবে সেট করুন। মনে রাখবেন, আপনার API অনুরোধে পাইপ ক্যারেক্টার পাঠানো হলে, সেটি URL-এস্কেপড হতে হবে। পাইপ অক্ষরের জন্য URL-এস্কেপ করা ভ্যালু হল %7C।
regionCode string
regionCode প্যারামিটার API-কে নির্দেশ দেয় যাতে নির্দিষ্ট দেশে দেখা যাবে এমন ভিডিওর সার্চ ফলাফল দেখানো হয়। প্যারামিটারের মান হল ISO 3166-1 alpha-2 দেশের কোড।
relevanceLanguage string
relevanceLanguage প্যারামিটার API-কে এমন সার্চ ফলাফল দেখাতে নির্দেশ দেয় যা উল্লেখ করা ভাষার সাথে সবচেয়ে বেশি প্রাসঙ্গিক। প্যারামিটার ভ্যালু সাধারণত ISO 639-1 দুই অক্ষরের ভাষার কোড হয়। তবে, সরলীকৃত চাইনিজ ভাষার জন্য zh-Hans এবং ঐতিহ্যবাহী চাইনিজ ভাষার জন্য zh-Hant ভ্যালু ব্যবহার করতে হবে। মনে রাখবেন, সার্চ কোয়েরি শব্দের সাথে অত্যন্ত প্রাসঙ্গিক হলে, অন্যান্য ভাষার ফলাফল এখনও দেখানো হবে।
safeSearch string
safeSearch প্যারামিটারটি নির্দেশ করে যে সার্চ ফলাফলে স্ট্যান্ডার্ড কন্টেন্টের পাশাপাশি বিধিনিষেধযুক্ত কন্টেন্টও অন্তর্ভুক্ত করা উচিত কিনা।

গ্রহণযোগ্য মানগুলি হল:
  • moderate – YouTube সার্চ ফলাফল থেকে কিছু কন্টেন্ট ফিল্টার করবে এবং অন্ততপক্ষে আপনার লোকেশনে যেসব কন্টেন্ট সীমাবদ্ধ করা আছে সেগুলি ফিল্টার করবে। কন্টেন্টের উপর ভিত্তি করে, সার্চ ফলাফল থেকে সার্চ ফলাফল সরিয়ে দেওয়া হতে পারে বা সার্চ ফলাফলে তার র‍্যাঙ্কিং কমিয়ে দেওয়া হতে পারে। এটি হল ডিফল্ট প্যারামিটার ভ্যালু।
  • none – YouTube সার্চ ফলাফল সেট ফিল্টার করবে না।
  • strict – YouTube, সার্চ ফলাফলের সেট থেকে সব বিধিনিষেধযুক্ত কন্টেন্ট বাদ দেওয়ার চেষ্টা করবে। কন্টেন্টের উপর ভিত্তি করে, সার্চ ফলাফল থেকে সার্চ ফলাফল সরিয়ে দেওয়া হতে পারে বা সার্চ ফলাফলে অবনমিত করা হতে পারে।
topicId string
topicId প্যারামিটার থেকে বোঝা যায় যে API-এর উত্তরে শুধু নির্দিষ্ট বিষয়ের সাথে সম্পর্কিত রিসোর্স থাকা উচিত। এই ভ্যালু Freebase টপিক আইডি শনাক্ত করে।

গুরুত্বপূর্ণ: Freebase এবং Freebase API বন্ধ হয়ে যাওয়ার কারণে, ২৭ ফেব্রুয়ারি, ২০১৭ থেকে topicId প্যারামিটার আলাদাভাবে কাজ করা শুরু করেছে। সেই সময়, YouTube কিউরেট করা বিষয় আইডির একটি ছোট সেটকে সমর্থন করতে শুরু করে এবং আপনি এই প্যারামিটারের ভ্যালু হিসেবে শুধুমাত্র সেই ছোট সেটটি ব্যবহার করতে পারবেন।

type string
type প্যারামিটারটি কোনও সার্চ কোয়েরিকে শুধুমাত্র একটি নির্দিষ্ট ধরনের রিসোর্স ফিরিয়ে আনার জন্য সীমাবদ্ধ করে। ভ্যালু হল কমা দিয়ে আলাদা করা রিসোর্স প্রকারের তালিকা। ডিফল্ট ভ্যালু হল video,channel,playlist।

গ্রহণযোগ্য ভ্যালু হল:
  • channel
  • playlist
  • video
videoCaption string
videoCaption প্যারামিটার নির্দেশ করে যে API-এর ভিডিও সার্চ ফলাফল ফিল্টার করা উচিত কিনা, ভিডিওতে ক্যাপশন আছে কিনা তার ভিত্তিতে। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video হিসেবে সেট করতে হবে।

গ্রহণযোগ্য ভ্যালুগুলি হল:
  • any – ক্যাপশন উপলভ্যতার ভিত্তিতে ফলাফল ফিল্টার করবেন না।
  • closedCaption – শুধু ক্যাপশন আছে এমন ভিডিও অন্তর্ভুক্ত করুন।
  • none – শুধু ক্যাপশন নেই এমন ভিডিও অন্তর্ভুক্ত করুন।
videoCategoryId string
videoCategoryId প্যারামিটার ভিডিও সার্চ ফলাফলকে তাদের বিভাগ অনুযায়ী ফিল্টার করে। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video-এ সেট করতে হবে।
videoDefinition string
videoDefinition প্যারামিটার আপনাকে কোনও সার্চকে শুধুমাত্র হাই ডেফিনিশন (HD) বা স্ট্যান্ডার্ড ডেফিনেশন (SD) ভিডিও অন্তর্ভুক্ত করার মধ্যে সীমাবদ্ধ রাখতে দেয়। HD ভিডিও অন্তত 720p-তে প্লেব্যাকের জন্য উপলভ্য, যদিও 1080p-এর মতো আরও বেশি রেজোলিউশনও উপলভ্য হতে পারে। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video হিসেবে সেট করতে হবে।

গ্রহণযোগ্য ভ্যালু হল:
  • any – রেজোলিউশন যাই হোক না কেন, সব ভিডিও রিটার্ন করুন।
  • high – শুধু HD ভিডিও ফিরিয়ে আনুন।
  • standard – শুধু স্ট্যান্ডার্ড ডেফিনিশনে ভিডিও ফিরিয়ে আনে।
videoDimension string
videoDimension প্যারামিটার আপনাকে সার্চ সীমাবদ্ধ করতে দেয় যাতে শুধু 2D বা 3D ভিডিও খুঁজে পাওয়া যায়। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video হিসেবে সেট করতে হবে।

গ্রহণযোগ্য ভ্যালু হল:
  • 2d – 3D ভিডিও বাদ দিতে সার্চ ফলাফল সীমিত করুন।
  • 3d – সার্চ ফলাফল সীমিত করে শুধু 3D ভিডিও অন্তর্ভুক্ত করুন।
  • any – ফিরে আসা ফলাফলে 3D ও নন-3D ভিডিও, দু'টিই অন্তর্ভুক্ত করুন। এটি হল ডিফল্ট ভ্যালু।
videoDuration string
videoDuration প্যারামিটার ভিডিওর সময়সীমার উপর ভিত্তি করে ভিডিও সার্চ ফলাফল ফিল্টার করে। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video হিসেবে সেট করতে হবে।

গ্রহণযোগ্য ভ্যালুগুলি হল:
  • any – ভিডিওর সময়সীমার উপর ভিত্তি করে ভিডিও সার্চ ফলাফল ফিল্টার করবেন না। এটি হল ডিফল্ট ভ্যালু।
  • long – শুধুমাত্র ২০ মিনিটের বেশি দৈর্ঘ্যের ভিডিও অন্তর্ভুক্ত করুন।
  • medium – শুধুমাত্র চার থেকে ২০ মিনিট (দুটিই অন্তর্ভুক্ত) দৈর্ঘ্যের ভিডিও যোগ করুন।
  • short – শুধুমাত্র চার মিনিটের কম দৈর্ঘ্যের ভিডিও অন্তর্ভুক্ত করুন।
videoEmbeddable string
videoEmbeddable প্যারামিটার আপনাকে এমন ভিডিওর মধ্যে সার্চ সীমাবদ্ধ করতে দেয় যা কোনও ওয়েবপেজে এম্বেড করা যেতে পারে। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video হিসেবে সেট করতে হবে।

গ্রহণযোগ্য ভ্যালুগুলি হল:
  • any – এম্বেড করা যাবে বা যাবে না এমন সব ভিডিও ফিরিয়ে দেয়।
  • true – শুধু এম্বেড করা যায় এমন ভিডিও খুঁজে বের করুন।
videoLicense string
videoLicense প্যারামিটার সার্চ ফলাফল ফিল্টার করে যাতে শুধুমাত্র নির্দিষ্ট লাইসেন্স সহ ভিডিও অন্তর্ভুক্ত করা যায়। YouTube-এ ভিডিও আপলোড করার সময়, আপলোডার প্রতিটি ভিডিওর জন্য Creative Commons লাইসেন্স বা স্ট্যান্ডার্ড YouTube লাইসেন্স বেছে নিতে পারেন। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video হিসেবে সেট করতে হবে।

গ্রহণযোগ্য ভ্যালুগুলি হল:
  • any – কোয়েরি প্যারামিটারের সাথে মেলে এমন সব ভিডিও দেখায়, সেগুলির লাইসেন্স যাই হোক না কেন।
  • creativeCommon – শুধুমাত্র Creative Commons লাইসেন্সযুক্ত ভিডিও দেখাও। ব্যবহারকারীরা এই লাইসেন্স সহ ভিডিওগুলি তাদের তৈরি করা অন্যান্য ভিডিওতে আবার ব্যবহার করতে পারবেন। আরও জানুন।
  • youtube – শুধুমাত্র সেইসব ভিডিওর ফলাফল দেখান যেগুলিতে স্ট্যান্ডার্ড YouTube লাইসেন্স আছে।
videoPaidProductPlacement string
videoPaidProductPlacement প্যারামিটার সার্চ ফলাফল ফিল্টার করে শুধুমাত্র সেইসব ভিডিও অন্তর্ভুক্ত করে যেগুলিতে ক্রিয়েটর পেড প্রোমোশন আছে বলে উল্লেখ করেছেন। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video হিসেবে সেট করতে হবে।

গ্রহণযোগ্য ভ্যালু হল:
  • any – পেড প্রোমোশন আছে কিনা তা নির্বিশেষে সব ভিডিও দেখায়।
  • true – শুধুমাত্র পেড প্রোমোশন সহ ভিডিও ফিরিয়ে আনুন।
videoSyndicated string
videoSyndicated প্যারামিটার আপনাকে এমন ভিডিওতে সার্চ সীমাবদ্ধ করতে দেয় যা শুধুমাত্র youtube.com-এর বাইরে চালানো যায়। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video-এ সেট করতে হবে।

গ্রহণযোগ্য ভ্যালু হল:
  • any – সিন্ডিকেট করা হোক বা না হোক, সব ভিডিও ফেরত দিন।
  • true – শুধুমাত্র সিন্ডিকেট করা ভিডিও ফিরিয়ে আনে।
videoType string
videoType প্যারামিটার আপনাকে নির্দিষ্ট ধরনের ভিডিওর মধ্যে সার্চ সীমাবদ্ধ করতে দেয়। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video হিসেবে সেট করতে হবে।

গ্রহণযোগ্য ভ্যালুগুলি হল:
  • any – সব ভিডিও রিটার্ন করে।
  • episode – শুধুমাত্র শোয়ের এপিসোড রিট্রিভ করে।
  • movie – শুধু সিনেমা ফিরিয়ে আনা।

অনুরোধের বডি

এই পদ্ধতি কল করার সময় অনুরোধের বডি প্রদান করবেন না।

রেসপন্স

সফল হলে, এই পদ্ধতিটি নিম্নলিখিত স্ট্রাকচার সহ একটি রেসপন্স বডি প্রদান করে:

{
  "kind": "youtube#searchListResponse",
  "etag": etag,
  "nextPageToken": string,
  "prevPageToken": string,
  "regionCode": string,
  "pageInfo": {
    "totalResults": integer,
    "resultsPerPage": integer
  },
  "items": [
    search Resource
  ]
}

প্রপার্টি

সার্চ ফলাফলে দেখানো প্রপার্টিগুলি নিম্নলিখিত সারণীতে সংজ্ঞায়িত করা হয়েছে:

প্রপার্টি
kind string
API রিসোর্সের ধরন শনাক্ত করে। ভ্যালু হবে youtube#searchListResponse।
etag etag
এই রিসোর্সের Etag.
nextPageToken string
ফলাফলের সেটে পরবর্তী পৃষ্ঠাটি পেতে pageToken প্যারামিটারের ভ্যালু হিসেবে ব্যবহার করা যেতে পারে এমন টোকেন।
prevPageToken string
ফলাফলের সেটে আগের পৃষ্ঠাটি পেতে pageToken প্যারামিটারের ভ্যালু হিসেবে ব্যবহার করা যেতে পারে এমন টোকেন।
regionCode string
সার্চ কোয়েরির জন্য ব্যবহার করা অঞ্চল কোড। প্রপার্টি ভ্যালু হল দুই অক্ষরের ISO কান্ট্রি কোড যা অঞ্চল শনাক্ত করে। i18nRegions.list পদ্ধতি কাজ করে এমন অঞ্চলের তালিকা দেখায়। ডিফল্ট ভ্যালু হল US। কাজ করে না এমন কোনও অঞ্চল উল্লেখ করা হলে, কোয়েরি ম্যানেজ করার জন্য YouTube ডিফল্ট ভ্যালুর পরিবর্তে অন্য কোনও অঞ্চল বেছে নিতে পারে।
pageInfo object
pageInfo অবজেক্টে ফলাফল সেটের জন্য পেজিং সংক্রান্ত তথ্য থাকে।
pageInfo.totalResults integer
ফলাফলের সেটে মোট ফলাফলের সংখ্যা।মনে রাখবেন যে এই ভ্যালু আনুমানিক এবং সঠিক ভ্যালু নাও দেখাতে পারে। এছাড়াও, সর্বাধিক ভ্যালু হল ১,০০০,০০০।

পেজিনেশন লিঙ্ক তৈরি করতে আপনার এই ভ্যালু ব্যবহার করা উচিত নয়। পরিবর্তে, পৃষ্ঠা সংখ্যা দেখানোর লিঙ্ক দেখানো হবে কিনা তা নির্ধারণ করতে nextPageToken এবং prevPageToken প্রপার্টি ভ্যালু ব্যবহার করুন।
pageInfo.resultsPerPage integer
API রেসপন্সে অন্তর্ভুক্ত ফলাফলের সংখ্যা।
items[] list
সার্চের মাপকাঠির সাথে ম্যাচ করা ফলাফলের তালিকা।

উদাহরণ

মনে রাখবেন: নিম্নলিখিত কোডের স্যাম্পেল সব কার্যকরী প্রোগ্রামিং ল্যাঙ্গুয়েজের বর্ণনা নাও করতে পারে। কোন কোন ভাষায় কাজ করে তার তালিকা পেতে ক্লায়েন্ট লাইব্রেরি ডকুমেন্টেশন দেখুন।

Apps Script

এই ফাংশন 'কুকুর' কীওয়ার্ড সম্পর্কিত ভিডিও সার্চ করে। সার্চ ফলাফলের ভিডিও আইডি ও শীর্ষক Apps Script-এর লগে লগ করা হয়।

মনে রাখবেন যে এই স্যাম্পেলটি ফলাফল ২৫-এ সীমিত করে। আরও ফলাফল পেতে, এখানে ডকুমেন্ট করা অতিরিক্ত প্যারামিটার পাস করুন: https://developers.google.com/youtube/data/reference/rest/v3/search/list
function searchByKeyword() {
  var results = YouTube.Search.list('id,snippet', {q: 'dogs', maxResults: 25});

  for(var i in results.items) {
    var item = results.items[i];
    Logger.log('[%s] Title: %s', item.id.videoId, item.snippet.title);
  }
}

খুলুন

এই কোড স্যাম্পেল, কোনও নির্দিষ্ট কীওয়ার্ডের সাথে যুক্ত সার্চ ফলাফল রিট্রিভ করতে API-এর search.list মেথড কল করে।

এই উদাহরণে Go ক্লায়েন্ট লাইব্রেরি ব্যবহার করা হয়।

package main

import (
	"flag"
	"fmt"
	"log"
	"net/http"

	"google.golang.org/api/googleapi/transport"
	"google.golang.org/api/youtube/v3"
)

var (
	query      = flag.String("query", "Google", "Search term")
	maxResults = flag.Int64("max-results", 25, "Max YouTube results")
)

const developerKey = "YOUR DEVELOPER KEY"

func main() {
	flag.Parse()

	client := &http.Client{
		Transport: &transport.APIKey{Key: developerKey},
	}

	service, err := youtube.New(client)
	if err != nil {
		log.Fatalf("Error creating new YouTube client: %v", err)
	}

	// Make the API call to YouTube.
	call := service.Search.List("id,snippet").
		Q(*query).
		MaxResults(*maxResults)
	response, err := call.Do()
	handleError(err, "")

	// Group video, channel, and playlist results in separate lists.
	videos := make(map[string]string)
	channels := make(map[string]string)
	playlists := make(map[string]string)

	// Iterate through each item and add it to the correct list.
	for _, item := range response.Items {
		switch item.Id.Kind {
		case "youtube#video":
			videos[item.Id.VideoId] = item.Snippet.Title
		case "youtube#channel":
			channels[item.Id.ChannelId] = item.Snippet.Title
		case "youtube#playlist":
			playlists[item.Id.PlaylistId] = item.Snippet.Title
		}
	}

	printIDs("Videos", videos)
	printIDs("Channels", channels)
	printIDs("Playlists", playlists)
}

// Print the ID and title of each result in a list as well as a name that
// identifies the list. For example, print the word section name "Videos"
// above a list of video search results, followed by the video ID and title
// of each matching video.
func printIDs(sectionName string, matches map[string]string) {
	fmt.Printf("%v:\n", sectionName)
	for id, title := range matches {
		fmt.Printf("[%v] %v\n", id, title)
	}
	fmt.Printf("\n\n")
}

.NET

নিম্নলিখিত কোড স্যাম্পেল, নির্দিষ্ট কীওয়ার্ডের সাথে সম্পর্কিত সার্চ ফলাফল ফিরিয়ে আনতে, API-এর search.list পদ্ধতিকে কল করে।

এই উদাহরণে .NET ক্লায়েন্ট লাইব্রেরি ব্যবহার করা হয়েছে।

using System;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using System.Threading;
using System.Threading.Tasks;

using Google.Apis.Auth.OAuth2;
using Google.Apis.Services;
using Google.Apis.Upload;
using Google.Apis.Util.Store;
using Google.Apis.YouTube.v3;
using Google.Apis.YouTube.v3.Data;

namespace Google.Apis.YouTube.Samples
{
  /// <summary>
  /// YouTube Data API v3 sample: search by keyword.
  /// Relies on the Google APIs Client Library for .NET, v1.7.0 or higher.
  /// See https://developers.google.com/api-client-library/dotnet/get_started
  ///
  /// Set ApiKey to the API key value from the APIs & auth > Registered apps tab of
  ///   https://cloud.google.com/console
  /// Please ensure that you have enabled the YouTube Data API for your project.
  /// </summary>
  internal class Search
  {
    [STAThread]
    static void Main(string[] args)
    {
      Console.WriteLine("YouTube Data API: Search");
      Console.WriteLine("========================");

      try
      {
        new Search().Run().Wait();
      }
      catch (AggregateException ex)
      {
        foreach (var e in ex.InnerExceptions)
        {
          Console.WriteLine("Error: " + e.Message);
        }
      }

      Console.WriteLine("Press any key to continue...");
      Console.ReadKey();
    }

    private async Task Run()
    {
      var youtubeService = new YouTubeService(new BaseClientService.Initializer()
      {
        ApiKey = "REPLACE_ME",
        ApplicationName = this.GetType().ToString()
      });

      var searchListRequest = youtubeService.Search.List("snippet");
      searchListRequest.Q = "Google"; // Replace with your search term.
      searchListRequest.MaxResults = 50;

      // Call the search.list method to retrieve results matching the specified query term.
      var searchListResponse = await searchListRequest.ExecuteAsync();

      List<string> videos = new List<string>();
      List<string> channels = new List<string>();
      List<string> playlists = new List<string>();

      // Add each result to the appropriate list, and then display the lists of
      // matching videos, channels, and playlists.
      foreach (var searchResult in searchListResponse.Items)
      {
        switch (searchResult.Id.Kind)
        {
          case "youtube#video":
            videos.Add(String.Format("{0} ({1})", searchResult.Snippet.Title, searchResult.Id.VideoId));
            break;

          case "youtube#channel":
            channels.Add(String.Format("{0} ({1})", searchResult.Snippet.Title, searchResult.Id.ChannelId));
            break;

          case "youtube#playlist":
            playlists.Add(String.Format("{0} ({1})", searchResult.Snippet.Title, searchResult.Id.PlaylistId));
            break;
        }
      }

      Console.WriteLine(String.Format("Videos:\n{0}\n", string.Join("\n", videos)));
      Console.WriteLine(String.Format("Channels:\n{0}\n", string.Join("\n", channels)));
      Console.WriteLine(String.Format("Playlists:\n{0}\n", string.Join("\n", playlists)));
    }
  }
}

Ruby

এই স্যাম্পেলটি সার্চ ফলাফল ফিরিয়ে আনতে API-এর search.list পদ্ধতিকে কল করে যা নির্দিষ্ট কীওয়ার্ডের সাথে যুক্ত।

এই উদাহরণে Ruby ক্লায়েন্ট লাইব্রেরি ব্যবহার করা হয়েছে।

#!/usr/bin/ruby

require 'rubygems'
gem 'google-api-client', '>0.7'
require 'google/api_client'
require 'trollop'

# Set DEVELOPER_KEY to the API key value from the APIs & auth > Credentials
# tab of
# {{ Google Cloud Console }} <{{ https://cloud.google.com/console }}>
# Please ensure that you have enabled the YouTube Data API for your project.
DEVELOPER_KEY = 'REPLACE_ME'
YOUTUBE_API_SERVICE_NAME = 'youtube'
YOUTUBE_API_VERSION = 'v3'

def get_service
  client = Google::APIClient.new(
    :key => DEVELOPER_KEY,
    :authorization => nil,
    :application_name => $PROGRAM_NAME,
    :application_version => '1.0.0'
  )
  youtube = client.discovered_api(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION)

  return client, youtube
end

def main
  opts = Trollop::options do
    opt :q, 'Search term', :type => String, :default => 'Google'
    opt :max_results, 'Max results', :type => :int, :default => 25
  end

  client, youtube = get_service

  begin
    # Call the search.list method to retrieve results matching the specified
    # query term.
    search_response = client.execute!(
      :api_method => youtube.search.list,
      :parameters => {
        :part => 'snippet',
        :q => opts[:q],
        :maxResults => opts[:max_results]
      }
    )

    videos = []
    channels = []
    playlists = []

    # Add each result to the appropriate list, and then display the lists of
    # matching videos, channels, and playlists.
    search_response.data.items.each do |search_result|
      case search_result.id.kind
        when 'youtube#video'
          videos << "#{search_result.snippet.title} (#{search_result.id.videoId})"
        when 'youtube#channel'
          channels << "#{search_result.snippet.title} (#{search_result.id.channelId})"
        when 'youtube#playlist'
          playlists << "#{search_result.snippet.title} (#{search_result.id.playlistId})"
      end
    end

    puts "Videos:\n", videos, "\n"
    puts "Channels:\n", channels, "\n"
    puts "Playlists:\n", playlists, "\n"
  rescue Google::APIClient::TransmissionError => e
    puts e.result.body
  end
end

main

সমস্যা

এই পদ্ধতিতে কল করার উত্তরে API যেসব সমস্যার মেসেজ পাঠাতে পারে, তা নিম্নলিখিত টেবিলে শনাক্ত করা হয়েছে। আরও বিবরণের জন্য সমস্যার মেসেজ সংক্রান্ত ডকুমেন্টেশন দেখুন।

সমস্যার ধরন সমস্যার বিবরণ বিবরণ
badRequest (400) invalidChannelId channelId প্যারামিটার ভুল চ্যানেল আইডি উল্লেখ করেছে।
badRequest (400) invalidLocation location এবং/অথবা locationRadius প্যারামিটারের ভ্যালু ভুলভাবে ফর্ম্যাট করা হয়েছে।
badRequest (400) invalidRelevanceLanguage relevanceLanguage প্যারামিটারের ভ্যালু ভুলভাবে ফর্ম্যাট করা হয়েছে।
badRequest (400) invalidSearchFilter অনুরোধে সার্চ ফিল্টার এবং/অথবা বিধিনিষেধের ভুল কম্বিনেশন রয়েছে। মনে রাখবেন, আপনি forContentOwner বা forMine প্যারামিটার true হিসেবে সেট করলে, আপনাকে অবশ্যই type প্যারামিটার video হিসেবে সেট করতে হবে। আপনি eventType, videoCaption, videoCategoryId, videoDefinition, videoDimension, videoDuration, videoEmbeddable, videoLicense, videoSyndicated বা videoType প্যারামিটারের জন্য কোনও ভ্যালু সেট করলে, আপনাকে অবশ্যই type প্যারামিটার video-এ সেট করতে হবে।

এটি ব্যবহার করে দেখুন!

এই API কল করতে এবং API অনুরোধ ও উত্তর দেখতে APIs Explorer ব্যবহার করুন।