API অনুরোধে নির্দিষ্ট করা ক্যোয়ারী প্যারামিটারের সাথে মেলে এমন অনুসন্ধান ফলাফলের একটি সংগ্রহ দেখায়। ডিফল্টরূপে, একটি অনুসন্ধান ফলাফল সেট মিলিত video
, channel
এবং playlist
সংস্থানগুলিকে চিহ্নিত করে, তবে আপনি শুধুমাত্র একটি নির্দিষ্ট ধরণের সংস্থান পুনরুদ্ধার করতে প্রশ্নগুলি কনফিগার করতে পারেন৷
কোটা প্রভাব: এই পদ্ধতিতে কল করার জন্য 100 ইউনিটের কোটা খরচ হয়।
সাধারণ ব্যবহারের ক্ষেত্রে
অনুরোধ
HTTP অনুরোধ
GET https://www.googleapis.com/youtube/v3/search
পরামিতি
নিম্নলিখিত সারণীতে এই ক্যোয়ারী সমর্থন করে এমন প্যারামিটারগুলি তালিকাভুক্ত করা হয়েছে৷ তালিকাভুক্ত সমস্ত প্যারামিটার হল ক্যোয়ারী প্যারামিটার।
পরামিতি | ||
---|---|---|
প্রয়োজনীয় পরামিতি | ||
part | string part প্যারামিটারটি এক বা একাধিক search সংস্থান বৈশিষ্ট্যগুলির একটি কমা-বিচ্ছিন্ন তালিকা নির্দিষ্ট করে যা API প্রতিক্রিয়া অন্তর্ভুক্ত করবে। প্যারামিটার মান snippet সেট করুন। | |
ফিল্টার (নিম্নলিখিত প্যারামিটারগুলির মধ্যে 0 বা 1 নির্দিষ্ট করুন) | ||
forContentOwner | boolean এই প্যারামিটারটি শুধুমাত্র একটি সঠিকভাবে অনুমোদিত অনুরোধে ব্যবহার করা যেতে পারে এবং এটি শুধুমাত্র YouTube বিষয়বস্তু অংশীদারদের জন্য প্রযোজ্য৷ forContentOwner প্যারামিটার শুধুমাত্র onBehalfOfContentOwner প্যারামিটার দ্বারা চিহ্নিত বিষয়বস্তুর মালিকের মালিকানাধীন ভিডিওগুলি পুনরুদ্ধার করতে অনুসন্ধানকে সীমাবদ্ধ করে। যদি forContentOwner সত্য হিসাবে সেট করা হয়, অনুরোধটি অবশ্যই এই প্রয়োজনীয়তাগুলি পূরণ করবে:
| |
forDeveloper | boolean এই প্যারামিটারটি শুধুমাত্র সঠিকভাবে অনুমোদিত অনুরোধে ব্যবহার করা যেতে পারে। forDeveloper প্যারামিটার শুধুমাত্র বিকাশকারীর অ্যাপ্লিকেশন বা ওয়েবসাইটের মাধ্যমে আপলোড করা ভিডিওগুলি পুনরুদ্ধার করতে অনুসন্ধানকে সীমাবদ্ধ করে৷ API সার্ভার ডেভেলপারকে শনাক্ত করতে অনুরোধের অনুমোদনের শংসাপত্র ব্যবহার করে। forDeveloper প্যারামিটারটি q প্যারামিটারের মতো ঐচ্ছিক অনুসন্ধান পরামিতির সাথে একত্রে ব্যবহার করা যেতে পারে।এই বৈশিষ্ট্যটির জন্য, প্রতিটি আপলোড করা ভিডিও স্বয়ংক্রিয়ভাবে Google বিকাশকারী কনসোলে বিকাশকারীর অ্যাপ্লিকেশনের সাথে যুক্ত প্রকল্প নম্বরের সাথে ট্যাগ করা হয়৷ যখন একটি অনুসন্ধানের অনুরোধ পরবর্তীতে forDeveloper প্যারামিটারটিকে true তে সেট করে, তখন API সার্ভার বিকাশকারীকে সনাক্ত করতে অনুরোধের অনুমোদনের শংসাপত্র ব্যবহার করে। অতএব, একজন বিকাশকারী বিকাশকারীর নিজস্ব অ্যাপ বা ওয়েবসাইটের মাধ্যমে আপলোড করা ভিডিওগুলিতে ফলাফল সীমাবদ্ধ করতে পারে তবে অন্যান্য অ্যাপ বা সাইটের মাধ্যমে আপলোড করা ভিডিওগুলিতে নয়৷ | |
forMine | boolean এই প্যারামিটারটি শুধুমাত্র সঠিকভাবে অনুমোদিত অনুরোধে ব্যবহার করা যেতে পারে। forMine প্যারামিটার শুধুমাত্র প্রমাণীকৃত ব্যবহারকারীর মালিকানাধীন ভিডিও পুনরুদ্ধার করতে অনুসন্ধানকে সীমাবদ্ধ করে। আপনি যদি এই প্যারামিটারটি true সেট করেন, তাহলে type প্যারামিটারের মানটিও video সেট করা আবশ্যক। এছাড়াও, একই অনুরোধে নিম্নলিখিত অন্যান্য পরামিতিগুলির মধ্যে কোনটি সেট করা যাবে না: videoDefinition , videoDimension , videoDuration , videoEmbeddable , videoLicense , videoPaidProductPlacement , videoSyndicated , videoType ৷ | |
ঐচ্ছিক পরামিতি | ||
channelId | string channelId প্যারামিটার নির্দেশ করে যে API প্রতিক্রিয়াতে শুধুমাত্র চ্যানেল দ্বারা তৈরি সংস্থান থাকা উচিত।দ্রষ্টব্য: অনুসন্ধান ফলাফল সর্বাধিক 500 ভিডিওতে সীমাবদ্ধ থাকে যদি আপনার অনুরোধ channelId প্যারামিটারের জন্য একটি মান নির্দিষ্ট করে এবং video type প্যারামিটার মান সেট করে, তবে এটি forContentOwner , forDeveloper , বা forMine ফিল্টারগুলির একটিও সেট করে না৷ | |
channelType | string channelType প্যারামিটার আপনাকে একটি নির্দিষ্ট ধরণের চ্যানেলে অনুসন্ধান সীমাবদ্ধ করতে দেয়।গ্রহণযোগ্য মান হল:
| |
eventType | string eventType প্যারামিটার একটি অনুসন্ধানকে ইভেন্ট সম্প্রচার করতে সীমাবদ্ধ করে। আপনি যদি এই প্যারামিটারের জন্য একটি মান নির্দিষ্ট করেন, তাহলে আপনাকে অবশ্যই video type প্যারামিটারের মান সেট করতে হবে।গ্রহণযোগ্য মান হল:
| |
location | string location প্যারামিটার, locationRadius প্যারামিটারের সাথে একত্রে, একটি বৃত্তাকার ভৌগলিক এলাকাকে সংজ্ঞায়িত করে এবং সেই সাথে একটি অনুসন্ধানকে সীমাবদ্ধ করে যে ভিডিওগুলি নির্দিষ্ট করে, তাদের মেটাডেটাতে, একটি ভৌগলিক অবস্থান যা সেই এলাকার মধ্যে পড়ে৷ পরামিতি মান হল একটি স্ট্রিং যা অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক নির্দিষ্ট করে যেমন ( 37.42307,-122.08427 )।
location প্যারামিটারের জন্য একটি মান নির্দিষ্ট করে তবে locationRadius প্যারামিটারের জন্য একটি মান নির্দিষ্ট না করলে API একটি ত্রুটি প্রদান করে।দ্রষ্টব্য: আপনি যদি এই প্যারামিটারের জন্য একটি মান নির্দিষ্ট করেন, তাহলে আপনাকে অবশ্যই video type প্যারামিটারের মান সেট করতে হবে। | |
locationRadius | string locationRadius প্যারামিটার, location প্যারামিটারের সাথে একত্রে, একটি বৃত্তাকার ভৌগলিক এলাকা সংজ্ঞায়িত করে।পরামিতি মান অবশ্যই একটি ফ্লোটিং পয়েন্ট নম্বর হতে হবে এবং একটি পরিমাপ ইউনিট অনুসরণ করবে। বৈধ পরিমাপের একক হল m , km , ft , এবং mi . উদাহরণস্বরূপ, বৈধ প্যারামিটার মানগুলির মধ্যে রয়েছে 1500m , 5km , 10000ft , এবং 0.75mi ৷ API 1000 কিলোমিটারের চেয়ে বড় locationRadius প্যারামিটার মান সমর্থন করে না।দ্রষ্টব্য: আরও তথ্যের জন্য location প্যারামিটারের সংজ্ঞা দেখুন। | |
maxResults | unsigned integer maxResults প্যারামিটারটি ফলাফল সেটে সর্বাধিক কতগুলি আইটেম ফেরত দিতে হবে তা নির্দিষ্ট করে। গ্রহণযোগ্য মান হল 0 থেকে 50 , সমেত। ডিফল্ট মান হল 5 । | |
onBehalfOfContentOwner | string এই প্যারামিটারটি শুধুমাত্র সঠিকভাবে অনুমোদিত অনুরোধে ব্যবহার করা যেতে পারে। দ্রষ্টব্য: এই প্যারামিটারটি শুধুমাত্র YouTube বিষয়বস্তু অংশীদারদের জন্য উদ্দিষ্ট৷ onBehalfOfContentOwner প্যারামিটারটি নির্দেশ করে যে অনুরোধের অনুমোদনের শংসাপত্রগুলি একজন YouTube CMS ব্যবহারকারীকে শনাক্ত করে যিনি প্যারামিটার মানতে নির্দিষ্ট সামগ্রীর মালিকের পক্ষে কাজ করছেন৷ এই প্যারামিটারটি YouTube বিষয়বস্তু অংশীদারদের জন্য উদ্দিষ্ট যারা বিভিন্ন YouTube চ্যানেলের মালিক এবং পরিচালনা করে৷ এটি সামগ্রীর মালিকদের একবার প্রমাণীকরণ করতে এবং প্রতিটি পৃথক চ্যানেলের জন্য প্রমাণীকরণ শংসাপত্র প্রদান না করেই তাদের সমস্ত ভিডিও এবং চ্যানেল ডেটাতে অ্যাক্সেস পেতে দেয়৷ ব্যবহারকারী যে CMS অ্যাকাউন্টের সাথে প্রমাণীকরণ করে সেটি অবশ্যই নির্দিষ্ট YouTube বিষয়বস্তুর মালিকের সাথে লিঙ্ক করতে হবে। | |
order | string order প্যারামিটারটি সেই পদ্ধতিটি নির্দিষ্ট করে যা API প্রতিক্রিয়াতে সংস্থানগুলি অর্ডার করতে ব্যবহার করা হবে৷ ডিফল্ট মান হল relevance ।গ্রহণযোগ্য মান হল:
| |
pageToken | string pageToken প্যারামিটার ফলাফল সেটে একটি নির্দিষ্ট পৃষ্ঠা চিহ্নিত করে যা ফেরত দেওয়া উচিত। একটি এপিআই প্রতিক্রিয়াতে, 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 প্যারামিটার অনুসন্ধান করার জন্য কোয়েরি শব্দটি নির্দিষ্ট করে।আপনার অনুরোধ বুলিয়ান নট ( - ) এবং বা ( | ) অপারেটরগুলিকে ভিডিওগুলি বাদ দিতে বা একাধিক অনুসন্ধান পদগুলির একটির সাথে যুক্ত ভিডিওগুলি খুঁজে পেতে ব্যবহার করতে পারে৷ উদাহরণস্বরূপ, "বোটিং" বা "সেলিং" এর সাথে মিলে যাওয়া ভিডিওগুলি অনুসন্ধান করতে, q প্যারামিটারের মান boating|sailing এ সেট করুন৷ একইভাবে, "বোটিং" বা "সেলিং" কিন্তু "ফিশিং" নয়, এমন ভিডিওর জন্য অনুসন্ধান করতে, q প্যারামিটার মান boating|sailing -fishing এ সেট করুন। মনে রাখবেন যে পাইপ অক্ষরটি অবশ্যই URL-এস্কেপড হতে হবে যখন এটি আপনার API অনুরোধে পাঠানো হয়। পাইপ অক্ষরের জন্য URL-এস্কেপড মান হল %7C । | |
regionCode | string regionCode প্যারামিটার API-কে নির্দিষ্ট দেশে দেখা যেতে পারে এমন ভিডিওগুলির জন্য অনুসন্ধান ফলাফল ফেরত দেওয়ার নির্দেশ দেয়৷ প্যারামিটার মান হল একটি ISO 3166-1 আলফা-2 দেশের কোড। | |
relevanceLanguage | string relevanceLanguage প্যারামিটার API-কে নির্দেশ দেয় যে সার্চ ফলাফলগুলি নির্দিষ্ট ভাষার সাথে সবচেয়ে প্রাসঙ্গিক। প্যারামিটার মানটি সাধারণত একটি ISO 639-1 দুই-অক্ষরের ভাষা কোড । যাইহোক, আপনার সরলীকৃত চীনাদের জন্য zh-Hans এবং ঐতিহ্যবাহী চীনাদের জন্য zh-Hant ব্যবহার করা উচিত। অনুগ্রহ করে মনে রাখবেন যে অন্যান্য ভাষার ফলাফলগুলি এখনও ফেরত দেওয়া হবে যদি তারা অনুসন্ধান ক্যোয়ারী শব্দের সাথে অত্যন্ত প্রাসঙ্গিক হয়। | |
safeSearch | string safeSearch প্যারামিটার নির্দেশ করে যে অনুসন্ধানের ফলাফলে সীমাবদ্ধ সামগ্রীর পাশাপাশি মানক সামগ্রী অন্তর্ভুক্ত করা উচিত কিনা৷গ্রহণযোগ্য মান হল:
| |
topicId | string topicId প্যারামিটারটি নির্দেশ করে যে API প্রতিক্রিয়াতে শুধুমাত্র নির্দিষ্ট বিষয়ের সাথে সংশ্লিষ্ট সম্পদ থাকা উচিত। মান একটি Freebase বিষয় ID সনাক্ত করে।গুরুত্বপূর্ণ: Freebase এবং Freebase API-এর অবমূল্যায়নের কারণে, 27 ফেব্রুয়ারী, 2017 থেকে topicId প্যারামিটার ভিন্নভাবে কাজ করা শুরু করেছে। সেই সময়ে, YouTube কিউরেটেড টপিক আইডিগুলির একটি ছোট সেট সমর্থন করা শুরু করেছে এবং আপনি শুধুমাত্র সেই ছোট সেটটি ব্যবহার করতে পারবেন এই প্যারামিটারের মান হিসেবে আইডি। | |
type | string type প্যারামিটার শুধুমাত্র একটি নির্দিষ্ট ধরনের সম্পদ পুনরুদ্ধার করতে একটি অনুসন্ধান ক্যোয়ারী সীমাবদ্ধ করে। মান হল সম্পদ প্রকারের একটি কমা দ্বারা পৃথক করা তালিকা। ডিফল্ট মান হল video,channel,playlist ।গ্রহণযোগ্য মান হল:
| |
videoCaption | string videoCaption প্যারামিটার নির্দেশ করে যে API-এর ক্যাপশন আছে কিনা তার উপর ভিত্তি করে ভিডিও অনুসন্ধান ফলাফল ফিল্টার করা উচিত। আপনি যদি এই প্যারামিটারের জন্য একটি মান নির্দিষ্ট করেন, তাহলে আপনাকে অবশ্যই video type প্যারামিটারের মান সেট করতে হবে।গ্রহণযোগ্য মান হল:
| |
videoCategoryId | string videoCategoryId প্যারামিটার তাদের বিভাগের উপর ভিত্তি করে ভিডিও অনুসন্ধান ফলাফল ফিল্টার করে। আপনি যদি এই প্যারামিটারের জন্য একটি মান নির্দিষ্ট করেন, তাহলে আপনাকে অবশ্যই video type প্যারামিটারের মান সেট করতে হবে। | |
videoDefinition | string videoDefinition প্যারামিটার আপনাকে শুধুমাত্র হাই ডেফিনিশন (HD) বা স্ট্যান্ডার্ড ডেফিনিশন (SD) ভিডিও অন্তর্ভুক্ত করতে একটি অনুসন্ধানকে সীমাবদ্ধ করতে দেয়। HD ভিডিওগুলি কমপক্ষে 720p এ প্লেব্যাকের জন্য উপলব্ধ, যদিও উচ্চতর রেজোলিউশন, যেমন 1080p, উপলব্ধ হতে পারে। আপনি যদি এই প্যারামিটারের জন্য একটি মান নির্দিষ্ট করেন, তাহলে আপনাকে অবশ্যই video type প্যারামিটারের মান সেট করতে হবে।গ্রহণযোগ্য মান হল:
| |
videoDimension | string videoDimension প্যারামিটার আপনাকে একটি অনুসন্ধানকে শুধুমাত্র 2D বা 3D ভিডিও পুনরুদ্ধার করতে সীমাবদ্ধ করতে দেয়। আপনি যদি এই প্যারামিটারের জন্য একটি মান নির্দিষ্ট করেন, তাহলে আপনাকে অবশ্যই video type প্যারামিটারের মান সেট করতে হবে।গ্রহণযোগ্য মান হল:
| |
videoDuration | string videoDuration প্যারামিটার তাদের সময়কালের উপর ভিত্তি করে ভিডিও অনুসন্ধানের ফলাফল ফিল্টার করে। আপনি যদি এই প্যারামিটারের জন্য একটি মান নির্দিষ্ট করেন, তাহলে আপনাকে অবশ্যই video type প্যারামিটারের মান সেট করতে হবে।গ্রহণযোগ্য মান হল:
| |
videoEmbeddable | string videoEmbeddable প্যারামিটার আপনাকে একটি অনুসন্ধানকে শুধুমাত্র ভিডিওগুলিতে সীমাবদ্ধ করতে দেয় যা একটি ওয়েবপেজে এম্বেড করা যেতে পারে। আপনি যদি এই প্যারামিটারের জন্য একটি মান নির্দিষ্ট করেন, তাহলে আপনাকে অবশ্যই video type প্যারামিটারের মান সেট করতে হবে।গ্রহণযোগ্য মান হল:
| |
videoLicense | string videoLicense প্যারামিটার শুধুমাত্র একটি নির্দিষ্ট লাইসেন্স সহ ভিডিও অন্তর্ভুক্ত করতে অনুসন্ধান ফলাফলগুলিকে ফিল্টার করে৷ YouTube ভিডিও আপলোডারদের তাদের প্রতিটি ভিডিওতে ক্রিয়েটিভ কমন্স লাইসেন্স বা স্ট্যান্ডার্ড YouTube লাইসেন্স সংযুক্ত করতে দেয়। আপনি যদি এই প্যারামিটারের জন্য একটি মান নির্দিষ্ট করেন, তাহলে আপনাকে অবশ্যই video type প্যারামিটারের মান সেট করতে হবে।গ্রহণযোগ্য মান হল:
| |
videoPaidProductPlacement | string videoPaidProductPlacement প্যারামিটার শুধুমাত্র সেই ভিডিওগুলিকে অন্তর্ভুক্ত করতে অনুসন্ধান ফলাফলগুলিকে ফিল্টার করে যা নির্মাতা একটি অর্থপ্রদানের প্রচার হিসাবে চিহ্নিত করেছেন৷ আপনি যদি এই প্যারামিটারের জন্য একটি মান নির্দিষ্ট করেন, তাহলে আপনাকে অবশ্যই video type প্যারামিটারের মান সেট করতে হবে।গ্রহণযোগ্য মান হল:
| |
videoSyndicated | string videoSyndicated প্যারামিটার আপনাকে শুধুমাত্র youtube.com-এর বাইরে চালানো যায় এমন ভিডিওগুলিতে অনুসন্ধান সীমাবদ্ধ করতে দেয়৷ আপনি যদি এই প্যারামিটারের জন্য একটি মান নির্দিষ্ট করেন, তাহলে আপনাকে অবশ্যই video type প্যারামিটারের মান সেট করতে হবে।গ্রহণযোগ্য মান হল:
| |
videoType | string videoType প্যারামিটার আপনাকে একটি নির্দিষ্ট ধরণের ভিডিওতে অনুসন্ধান সীমাবদ্ধ করতে দেয়। আপনি যদি এই প্যারামিটারের জন্য একটি মান নির্দিষ্ট করেন, তাহলে আপনাকে অবশ্যই video type প্যারামিটারের মান সেট করতে হবে।গ্রহণযোগ্য মান হল:
|
শরীরের অনুরোধ
এই পদ্ধতিতে কল করার সময় একটি অনুরোধের অংশ প্রদান করবেন না।
প্রতিক্রিয়া
সফল হলে, এই পদ্ধতিটি নিম্নলিখিত কাঠামো সহ একটি প্রতিক্রিয়া বডি প্রদান করে:
{ "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 ফলাফল সেটে মোট ফলাফলের সংখ্যা। অনুগ্রহ করে মনে রাখবেন যে মানটি একটি আনুমানিক এবং একটি সঠিক মান উপস্থাপন নাও করতে পারে। উপরন্তু, সর্বোচ্চ মান হল 1,000,000। পৃষ্ঠা সংখ্যা লিঙ্ক তৈরি করতে আপনার এই মান ব্যবহার করা উচিত নয়। পরিবর্তে, পেজিনেশন লিঙ্কগুলি দেখাতে হবে কিনা তা নির্ধারণ করতে nextPageToken এবং prevPageToken সম্পত্তি মান ব্যবহার করুন। |
pageInfo. resultsPerPage | integer API প্রতিক্রিয়ায় অন্তর্ভুক্ত ফলাফলের সংখ্যা। |
items[] | list অনুসন্ধানের মানদণ্ডের সাথে মেলে এমন ফলাফলের একটি তালিকা৷ |
উদাহরণ
দ্রষ্টব্য: নিম্নলিখিত কোড নমুনাগুলি সমস্ত সমর্থিত প্রোগ্রামিং ভাষার প্রতিনিধিত্ব নাও করতে পারে৷ সমর্থিত ভাষার তালিকার জন্য ক্লায়েন্ট লাইব্রেরি ডকুমেন্টেশন দেখুন।
অ্যাপস স্ক্রিপ্ট
এই ফাংশনটি 'কুকুর' কীওয়ার্ড সম্পর্কিত ভিডিও অনুসন্ধান করে। অনুসন্ধান ফলাফলের ভিডিও আইডি এবং শিরোনামগুলি অ্যাপস স্ক্রিপ্টের লগে লগ করা হয়েছে৷মনে রাখবেন যে এই নমুনাটি ফলাফলগুলিকে 25-এ সীমাবদ্ধ করে। আরও ফলাফল ফেরাতে, এখানে নথিভুক্ত হিসাবে অতিরিক্ত প্যারামিটারগুলি পাস করুন: https://developers.google.com/youtube/v3/docs/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") }
.নেট
নিম্নলিখিত কোড নমুনা একটি নির্দিষ্ট কীওয়ার্ডের সাথে সম্পর্কিত অনুসন্ধান ফলাফল পুনরুদ্ধার করতে 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))); } } }
রুবি
এই নমুনাটি একটি নির্দিষ্ট কীওয়ার্ডের সাথে সম্পর্কিত অনুসন্ধান ফলাফল পুনরুদ্ধার করতে API-এরsearch.list
পদ্ধতিকে কল করে।এই উদাহরণটি রুবি ক্লায়েন্ট লাইব্রেরি ব্যবহার করে।
#!/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 সেট করেন তাহলে আপনাকে অবশ্যই video type প্যারামিটার সেট করতে হবে। আপনি যদি eventType , videoCaption , videoCategoryId , videoDefinition , videoDimension , videoDuration , videoEmbeddable , videoLicense , videoSyndicated , বা videoType প্যারামিটারের জন্য একটি মান সেট করেন তাহলে আপনাকে অবশ্যই video type প্যারামিটার সেট করতে হবে৷ |
এটা চেষ্টা করুন!
এই API কল করতে APIs Explorer ব্যবহার করুন এবং API অনুরোধ এবং প্রতিক্রিয়া দেখুন।