API অনুরোধে উল্লেখ করা কোয়েরি প্যারামিটারের সাথে ম্যাচ করে এমন সার্চ ফলাফলের একটি সংগ্রহ রিটার্ন করে। ডিফল্ট হিসেবে, সার্চ ফলাফলের সেট থেকে ম্যাচ করা video, channel ও playlist রিসোর্স শনাক্ত করা হয়, তবে আপনি কোয়েরি কনফিগার করে শুধুমাত্র নির্দিষ্ট ধরনের রিসোর্সও পেতে পারেন।
কোটার উপর প্রভাব: প্রতিদিন ১০০টি কল। এই পদ্ধতিতে কল করলে, সার্চ কোয়েরি কোটা বাকেটে ১ ইউনিট কোটা খরচ হয়।
সাধারণ ব্যবহারিক ক্ষেত্র
অনুরোধ করুন
HTTP অনুরোধ
GET https://www.googleapis.com/youtube/v3/search
প্যারামিটারগুলি
এই কোয়েরি যেসব প্যারামিটার ব্যবহার করতে পারে, তা নিম্নলিখিত সারণীতে উল্লেখ করা হয়েছে। তালিকায় থাকা সব প্যারামিটারই হল কোয়েরি প্যারামিটার।
| প্যারামিটারগুলি | ||
|---|---|---|
| প্রয়োজনীয় প্যারামিটার | ||
part |
stringpart প্যারামিটারটি এক বা একাধিক search রিসোর্স প্রপার্টির কমা-সেপারেটেড তালিকা নির্দিষ্ট করে যা API উত্তর অন্তর্ভুক্ত করবে। প্যারামিটারের মান snippet-এ সেট করুন।
|
|
| ফিল্টার (নিম্নলিখিত প্যারামিটারের মধ্যে ০ বা ১টি উল্লেখ করুন) | ||
forContentOwner |
booleanএই প্যারামিটারটি শুধুমাত্র যথাযথভাবে অনুমোদিত অনুরোধে ব্যবহার করা যেতে পারে এবং এটি শুধুমাত্র YouTube কন্টেন্ট পার্টনারদের জন্য। forContentOwner প্যারামিটারটি সার্চকে সীমাবদ্ধ করে শুধুমাত্র onBehalfOfContentOwner প্যারামিটার দ্বারা শনাক্ত করা কন্টেন্টের মালিকের ভিডিওগুলি পুনরুদ্ধার করে। forContentOwner-এর মান true হিসেবে সেট করা থাকলে, অনুরোধকে এইসব প্রয়োজনীয়তাও পূরণ করতে হবে:
|
|
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 |
stringchannelId প্যারামিটারটি নির্দেশ করে যে API রেসপন্সে শুধুমাত্র চ্যানেলের তৈরি করা রিসোর্স থাকতে হবে। মনে রাখবেন: আপনার অনুরোধে channelId প্যারামিটারের জন্য কোনও মান নির্দিষ্ট করা থাকলে এবং type প্যারামিটারের মান video-এ সেট করা থাকলে, সার্চ ফলাফল সর্বাধিক ৫০০টি ভিডিওতে সীমাবদ্ধ থাকে, তবে এটি forContentOwner, forDeveloper বা forMine ফিল্টারের মধ্যে কোনও একটি সেট করে না। |
|
channelType |
stringchannelType প্যারামিটার আপনাকে নির্দিষ্ট ধরনের চ্যানেলে সার্চ সীমাবদ্ধ করতে দেয়।গ্রহণযোগ্য মান হল:
|
|
eventType |
stringeventType প্যারামিটার ব্রডকাস্ট ইভেন্টের জন্য সার্চ সীমাবদ্ধ করে। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video হিসেবে সেট করতে হবে।গ্রহণযোগ্য ভ্যালু হল:
|
|
location |
stringlocationRadius প্যারামিটারের সাথে location প্যারামিটার একটি বৃত্তাকার ভৌগোলিক এলাকা নির্ধারণ করে এবং সেইসাথে, মেটাডেটাতে উল্লেখ করা ভৌগোলিক লোকেশন সেই এলাকার মধ্যে পড়লে, সার্চকে সেইসব ভিডিওর মধ্যে সীমাবদ্ধ করে। প্যারামিটারের মান হল একটি স্ট্রিং যা অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক নির্দিষ্ট করে, যেমন (37.42307,-122.08427)।
location প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করা থাকলে, কিন্তু locationRadius প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করা না থাকলে, API একটি ত্রুটি রিটার্ন করে।মনে রাখবেন: আপনি যদি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করেন, তাহলে আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video-এ সেট করতে হবে।
| |
locationRadius |
stringlocationRadius প্যারামিটার, location প্যারামিটারের সাথে যুক্ত হয়ে, একটি বৃত্তাকার ভৌগোলিক এলাকা নির্ধারণ করে।প্যারামিটারের ভ্যালু অবশ্যই একটি ফ্লোটিং পয়েন্ট নম্বর হতে হবে যার পরে একটি পরিমাপের ইউনিট থাকবে। সঠিক পরিমাপের একক হল m, km, ft ও mi। যেমন, সঠিক প্যারামিটারের মানের মধ্যে 1500m, 5km, 10000ft ও 0.75mi অন্তর্ভুক্ত। API-তে ১০০০ কিলোমিটারের বেশি locationRadius প্যারামিটারের মান কাজ করে না।মনে রাখবেন: আরও তথ্যের জন্য location প্যারামিটারের সংজ্ঞা দেখুন। |
|
maxResults |
unsigned integermaxResults প্যারামিটারটি ফলাফলের সেটে সর্বাধিক কতগুলি আইটেম রিটার্ন করা উচিত তা নির্দিষ্ট করে। 0 থেকে 50 পর্যন্ত ভ্যালু ব্যবহার করা যাবে। ডিফল্ট ভ্যালু হল 5। |
|
onBehalfOfContentOwner |
stringএই প্যারামিটার শুধুমাত্র যথাযথভাবে অনুমোদিত অনুরোধে ব্যবহার করা যেতে পারে। মনে রাখবেন: এই প্যারামিটারটি শুধুমাত্র YouTube কন্টেন্ট পার্টনারদের জন্য তৈরি করা হয়েছে। onBehalfOfContentOwner প্যারামিটারটি ইঙ্গিত করে যে অনুরোধের অনুমোদনের ক্রেডেনশিয়াল একটি YouTube CMS ব্যবহারকারীকে শনাক্ত করে যিনি প্যারামিটার ভ্যালুতে নির্দিষ্ট করা কন্টেন্টের মালিকের হয়ে কাজ করছেন। এই প্যারামিটারটি YouTube কন্টেন্ট পার্টনারদের জন্য তৈরি করা হয়েছে যারা একাধিক YouTube চ্যানেলের মালিকানা ও ম্যানেজমেন্ট করেন। এটি কন্টেন্টের মালিকদের একবার যাচাইকরণ করার এবং প্রতিটি চ্যানেলের জন্য আলাদাভাবে যাচাইকরণ সংক্রান্ত ক্রেডেনশিয়াল প্রদান না করেই তাদের সমস্ত ভিডিও এবং চ্যানেল ডেটা অ্যাক্সেস করার অনুমতি দেয়। ব্যবহারকারী যে CMS অ্যাকাউন্ট দিয়ে যাচাই করেন সেটি নির্দিষ্ট YouTube কন্টেন্ট মালিকের সাথে লিঙ্ক করা থাকতে হবে। |
|
order |
stringorder প্যারামিটারটি API রেসপন্সে রিসোর্স অর্ডার করার জন্য ব্যবহার করা পদ্ধতি নির্দিষ্ট করে। ডিফল্ট ভ্যালু হল relevance।গ্রহণযোগ্য ভ্যালু হল:
|
|
pageToken |
stringpageToken প্যারামিটারটি ফলাফল সেটের একটি নির্দিষ্ট পৃষ্ঠা শনাক্ত করে যা ফেরত দেওয়া উচিত। API উত্তরের মধ্যে, nextPageToken এবং prevPageToken প্রপার্টি, অন্যান্য যেসব পৃষ্ঠা রিট্রিভ করা যেতে পারে সেগুলিকে শনাক্ত করে। |
|
publishedAfter |
datetimepublishedAfter প্যারামিটারটি নির্দেশ করে যে API রেসপন্সে শুধুমাত্র নির্দিষ্ট সময়ে বা তার পরে তৈরি করা রিসোর্স অন্তর্ভুক্ত করা উচিত। এই ভ্যালু হল RFC 3339 ফর্ম্যাট করা তারিখ-সময় ভ্যালু (1970-01-01T00:00:00Z)। |
|
publishedBefore |
datetimepublishedBefore প্যারামিটার থেকে বোঝা যায় যে API রেসপন্সে শুধু নির্দিষ্ট সময়ের আগে বা সেই সময়ে তৈরি করা রিসোর্সই থাকতে হবে। এই ভ্যালু হল RFC 3339 ফর্ম্যাটে লেখা তারিখ-সময় ভ্যালু (1970-01-01T00:00:00Z)। |
|
q |
stringq প্যারামিটারটি সার্চ করার জন্য কোয়েরি শব্দ নির্দিষ্ট করে।আপনার অনুরোধে ভিডিও বাদ দিতে বা একাধিক সার্চ করা শব্দের মধ্যে একটির সাথে সম্পর্কিত ভিডিও খুঁজতে বুলিয়ান NOT ( -) এবং OR (|) অপারেটরও ব্যবহার করতে পারেন। যেমন, "নৌকা চালানো" বা "পাল তোলা"র সাথে ম্যাচ করে এমন ভিডিও সার্চ করতে, q প্যারামিটারের ভ্যালু boating|sailing হিসেবে সেট করুন। একইভাবে, "নৌকা চালানো" বা "পাল তোলা"র সাথে ম্যাচ করে কিন্তু "মাছ ধরা"র সাথে ম্যাচ করে না এমন ভিডিও সার্চ করতে, q প্যারামিটারের ভ্যালু boating|sailing -fishing হিসেবে সেট করুন। মনে রাখবেন, আপনার API অনুরোধে পাইপ ক্যারেক্টার পাঠানো হলে, সেটি URL-এস্কেপড হতে হবে। পাইপ অক্ষরের জন্য URL-এস্কেপ করা ভ্যালু হল %7C। |
|
regionCode |
stringregionCode প্যারামিটার API-কে নির্দেশ দেয় যাতে নির্দিষ্ট দেশে দেখা যাবে এমন ভিডিওর সার্চ ফলাফল দেখানো হয়। প্যারামিটারের মান হল ISO 3166-1 alpha-2 দেশের কোড। |
|
relevanceLanguage |
stringrelevanceLanguage প্যারামিটার API-কে এমন সার্চ ফলাফল দেখাতে নির্দেশ দেয় যা উল্লেখ করা ভাষার সাথে সবচেয়ে বেশি প্রাসঙ্গিক। প্যারামিটার ভ্যালু সাধারণত ISO 639-1 দুই অক্ষরের ভাষার কোড হয়। তবে, সরলীকৃত চাইনিজ ভাষার জন্য zh-Hans এবং ঐতিহ্যবাহী চাইনিজ ভাষার জন্য zh-Hant ভ্যালু ব্যবহার করতে হবে। মনে রাখবেন, সার্চ কোয়েরি শব্দের সাথে অত্যন্ত প্রাসঙ্গিক হলে, অন্যান্য ভাষার ফলাফল এখনও দেখানো হবে। |
|
safeSearch |
stringsafeSearch প্যারামিটারটি নির্দেশ করে যে সার্চ ফলাফলে স্ট্যান্ডার্ড কন্টেন্টের পাশাপাশি বিধিনিষেধযুক্ত কন্টেন্টও অন্তর্ভুক্ত করা উচিত কিনা।গ্রহণযোগ্য মানগুলি হল:
|
|
topicId |
stringtopicId প্যারামিটার থেকে বোঝা যায় যে API-এর উত্তরে শুধু নির্দিষ্ট বিষয়ের সাথে সম্পর্কিত রিসোর্স থাকা উচিত। এই ভ্যালু Freebase টপিক আইডি শনাক্ত করে।গুরুত্বপূর্ণ: Freebase এবং Freebase API বন্ধ হয়ে যাওয়ার কারণে, ২৭ ফেব্রুয়ারি, ২০১৭ থেকে topicId প্যারামিটার আলাদাভাবে কাজ করা শুরু করেছে। সেই সময়, YouTube কিউরেট করা বিষয় আইডির একটি ছোট সেটকে সমর্থন করতে শুরু করে এবং আপনি এই প্যারামিটারের ভ্যালু হিসেবে শুধুমাত্র সেই ছোট সেটটি ব্যবহার করতে পারবেন। |
|
type |
stringtype প্যারামিটারটি কোনও সার্চ কোয়েরিকে শুধুমাত্র একটি নির্দিষ্ট ধরনের রিসোর্স ফিরিয়ে আনার জন্য সীমাবদ্ধ করে। ভ্যালু হল কমা দিয়ে আলাদা করা রিসোর্স প্রকারের তালিকা। ডিফল্ট ভ্যালু হল video,channel,playlist।গ্রহণযোগ্য ভ্যালু হল:
|
|
videoCaption |
stringvideoCaption প্যারামিটার নির্দেশ করে যে API-এর ভিডিও সার্চ ফলাফল ফিল্টার করা উচিত কিনা, ভিডিওতে ক্যাপশন আছে কিনা তার ভিত্তিতে। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video হিসেবে সেট করতে হবে।গ্রহণযোগ্য ভ্যালুগুলি হল:
|
|
videoCategoryId |
stringvideoCategoryId প্যারামিটার ভিডিও সার্চ ফলাফলকে তাদের বিভাগ অনুযায়ী ফিল্টার করে। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video-এ সেট করতে হবে। |
|
videoDefinition |
stringvideoDefinition প্যারামিটার আপনাকে কোনও সার্চকে শুধুমাত্র হাই ডেফিনিশন (HD) বা স্ট্যান্ডার্ড ডেফিনেশন (SD) ভিডিও অন্তর্ভুক্ত করার মধ্যে সীমাবদ্ধ রাখতে দেয়। HD ভিডিও অন্তত 720p-তে প্লেব্যাকের জন্য উপলভ্য, যদিও 1080p-এর মতো আরও বেশি রেজোলিউশনও উপলভ্য হতে পারে। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video হিসেবে সেট করতে হবে।গ্রহণযোগ্য ভ্যালু হল:
|
|
videoDimension |
stringvideoDimension প্যারামিটার আপনাকে সার্চ সীমাবদ্ধ করতে দেয় যাতে শুধু 2D বা 3D ভিডিও খুঁজে পাওয়া যায়। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video হিসেবে সেট করতে হবে।গ্রহণযোগ্য ভ্যালু হল:
|
|
videoDuration |
stringvideoDuration প্যারামিটার ভিডিওর সময়সীমার উপর ভিত্তি করে ভিডিও সার্চ ফলাফল ফিল্টার করে। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video হিসেবে সেট করতে হবে।গ্রহণযোগ্য ভ্যালুগুলি হল:
|
|
videoEmbeddable |
stringvideoEmbeddable প্যারামিটার আপনাকে এমন ভিডিওর মধ্যে সার্চ সীমাবদ্ধ করতে দেয় যা কোনও ওয়েবপেজে এম্বেড করা যেতে পারে। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video হিসেবে সেট করতে হবে।গ্রহণযোগ্য ভ্যালুগুলি হল:
|
|
videoLicense |
stringvideoLicense প্যারামিটার সার্চ ফলাফল ফিল্টার করে যাতে শুধুমাত্র নির্দিষ্ট লাইসেন্স সহ ভিডিও অন্তর্ভুক্ত করা যায়। YouTube-এ ভিডিও আপলোড করার সময়, আপলোডার প্রতিটি ভিডিওর জন্য Creative Commons লাইসেন্স বা স্ট্যান্ডার্ড YouTube লাইসেন্স বেছে নিতে পারেন। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video হিসেবে সেট করতে হবে।গ্রহণযোগ্য ভ্যালুগুলি হল:
|
|
videoPaidProductPlacement |
stringvideoPaidProductPlacement প্যারামিটার সার্চ ফলাফল ফিল্টার করে
শুধুমাত্র সেইসব ভিডিও অন্তর্ভুক্ত করে যেগুলিতে ক্রিয়েটর পেড প্রোমোশন আছে বলে উল্লেখ করেছেন। আপনি এই প্যারামিটারের জন্য
কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type
প্যারামিটারের ভ্যালু video হিসেবে সেট করতে হবে।গ্রহণযোগ্য ভ্যালু হল:
|
|
videoSyndicated |
stringvideoSyndicated প্যারামিটার আপনাকে এমন ভিডিওতে সার্চ সীমাবদ্ধ করতে দেয় যা শুধুমাত্র youtube.com-এর বাইরে চালানো যায়। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video-এ সেট করতে হবে।গ্রহণযোগ্য ভ্যালু হল:
|
|
videoType |
stringvideoType প্যারামিটার আপনাকে নির্দিষ্ট ধরনের ভিডিওর মধ্যে সার্চ সীমাবদ্ধ করতে দেয়। আপনি এই প্যারামিটারের জন্য কোনও ভ্যালু নির্দিষ্ট করলে, আপনাকে অবশ্যই type প্যারামিটারের ভ্যালু video হিসেবে সেট করতে হবে।গ্রহণযোগ্য ভ্যালুগুলি হল:
|
|
অনুরোধের বডি
এই পদ্ধতি কল করার সময় অনুরোধের বডি প্রদান করবেন না।
রেসপন্স
সফল হলে, এই পদ্ধতিটি নিম্নলিখিত স্ট্রাকচার সহ একটি রেসপন্স বডি প্রদান করে:
{
"kind": "youtube#searchListResponse",
"etag": etag,
"nextPageToken": string,
"prevPageToken": string,
"regionCode": string,
"pageInfo": {
"totalResults": integer,
"resultsPerPage": integer
},
"items": [
search Resource
]
}প্রপার্টি
সার্চ ফলাফলে দেখানো প্রপার্টিগুলি নিম্নলিখিত সারণীতে সংজ্ঞায়িত করা হয়েছে:
| প্রপার্টি | |
|---|---|
kind |
stringAPI রিসোর্সের ধরন শনাক্ত করে। ভ্যালু হবে youtube#searchListResponse। |
etag |
etagএই রিসোর্সের Etag. |
nextPageToken |
stringফলাফলের সেটে পরবর্তী পৃষ্ঠাটি পেতে pageToken প্যারামিটারের ভ্যালু হিসেবে ব্যবহার করা যেতে পারে এমন টোকেন। |
prevPageToken |
stringফলাফলের সেটে আগের পৃষ্ঠাটি পেতে pageToken প্যারামিটারের ভ্যালু হিসেবে ব্যবহার করা যেতে পারে এমন টোকেন। |
regionCode |
stringসার্চ কোয়েরির জন্য ব্যবহার করা অঞ্চল কোড। প্রপার্টি ভ্যালু হল দুই অক্ষরের ISO কান্ট্রি কোড যা অঞ্চল শনাক্ত করে। i18nRegions.list পদ্ধতি কাজ করে এমন অঞ্চলের তালিকা দেখায়। ডিফল্ট ভ্যালু হল US। কাজ করে না এমন কোনও অঞ্চল উল্লেখ করা হলে, কোয়েরি ম্যানেজ করার জন্য YouTube ডিফল্ট ভ্যালুর পরিবর্তে অন্য কোনও অঞ্চল বেছে নিতে পারে। |
pageInfo |
objectpageInfo অবজেক্টে ফলাফল সেটের জন্য পেজিং সংক্রান্ত তথ্য থাকে। |
pageInfo.totalResults |
integerফলাফলের সেটে মোট ফলাফলের সংখ্যা।মনে রাখবেন যে এই ভ্যালু আনুমানিক এবং সঠিক ভ্যালু নাও দেখাতে পারে। এছাড়াও, সর্বাধিক ভ্যালু হল ১,০০০,০০০। পেজিনেশন লিঙ্ক তৈরি করতে আপনার এই ভ্যালু ব্যবহার করা উচিত নয়। পরিবর্তে, পৃষ্ঠা সংখ্যা দেখানোর লিঙ্ক দেখানো হবে কিনা তা নির্ধারণ করতে nextPageToken এবং prevPageToken প্রপার্টি ভ্যালু ব্যবহার করুন। |
pageInfo.resultsPerPage |
integerAPI রেসপন্সে অন্তর্ভুক্ত ফলাফলের সংখ্যা। |
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 ব্যবহার করুন।