مجموعه ای از نتایج جستجو را برمی گرداند که با پارامترهای پرس و جو مشخص شده در درخواست 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 روی true تنظیم شده باشد، درخواست باید این شرایط را نیز داشته باشد:
| |
forDeveloper | boolean این پارامتر فقط در یک درخواست مجاز به درستی قابل استفاده است. پارامتر forDeveloper جستجو را محدود می کند تا فقط ویدیوهای آپلود شده از طریق برنامه یا وب سایت توسعه دهنده را بازیابی کند. سرور API از اعتبارنامه های مجوز درخواست برای شناسایی توسعه دهنده استفاده می کند. پارامتر forDeveloper را می توان همراه با پارامترهای جستجوی اختیاری مانند پارامتر q استفاده کرد.برای این ویژگی، هر ویدیوی آپلود شده بهطور خودکار با شماره پروژه مرتبط با برنامه برنامهنویس در 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 تنظیم کند، نتایج جستجو به حداکثر 500 ویدیو محدود میشود، اما یکی از فیلترهای forContentOwner ، forDeveloper یا forMine را نیز تنظیم نمیکند. | |
channelType | string پارامتر channelType به شما امکان می دهد جستجو را به نوع خاصی از کانال محدود کنید.مقادیر قابل قبول عبارتند از:
| |
eventType | string پارامتر eventType جستجو را به پخش رویدادها محدود می کند. اگر مقداری برای این پارامتر مشخص کنید، باید مقدار پارامتر type را نیز روی video تنظیم کنید.مقادیر قابل قبول عبارتند از:
| |
location | string پارامتر location ، همراه با پارامتر locationRadius ، یک منطقه جغرافیایی دایرهای را تعریف میکند و همچنین جستجو را به ویدیوهایی محدود میکند که در فرادادههای خود، یک موقعیت جغرافیایی را مشخص میکنند که در آن منطقه قرار میگیرد. مقدار پارامتر رشتهای است که مختصات طول و عرض جغرافیایی را مشخص میکند، مثلاً ( 37.42307,-122.08427 ).
location مشخص کند اما مقداری برای پارامتر locationRadius نیز مشخص نکرده باشد، API یک خطا برمیگرداند.توجه: اگر مقداری برای این پارامتر تعیین میکنید، باید مقدار پارامتر type را نیز روی video تنظیم کنید. | |
locationRadius | string پارامتر locationRadius ، در ارتباط با پارامتر location ، یک منطقه جغرافیایی دایره ای را تعریف می کند.مقدار پارامتر باید یک عدد ممیز شناور و سپس یک واحد اندازه گیری باشد. واحدهای اندازه گیری معتبر m , km , ft , mi هستند . برای مثال، مقادیر پارامتر معتبر شامل 1500m ، 5km ، 10000ft و 0.75mi . API از مقادیر پارامتر locationRadius بزرگتر از 1000 کیلومتر پشتیبانی نمی کند.توجه: برای اطلاعات بیشتر به تعریف پارامتر 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 صفحه خاصی را در مجموعه نتایج مشخص می کند که باید برگردانده شود. در یک پاسخ 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 عبارت پرس و جو را برای جستجو مشخص می کند.درخواست شما همچنین می تواند از عملگرهای Boolean NOT ( - ) و OR ( | ) برای حذف ویدیوها یا یافتن ویدیوهایی که با یکی از چندین عبارت جستجو مرتبط هستند استفاده کند. به عنوان مثال، برای جستجوی ویدیوهای منطبق با «قایقرانی» یا «قایقرانی»، مقدار پارامتر q را روی boating|sailing تنظیم کنید. به طور مشابه، برای جستجوی ویدیوهای منطبق با "قایق سواری" یا "قایق سواری" اما نه "ماهیگیری"، مقدار پارامتر q را روی boating|sailing -fishing تنظیم کنید. توجه داشته باشید که وقتی نویسه لوله در درخواست API شما ارسال میشود، باید URL-escape شود. مقدار URL-escape شده برای نویسه لوله %7C است. | |
regionCode | string پارامتر regionCode به API دستور می دهد تا نتایج جستجو را برای ویدیوهایی که می توانند در کشور مشخص شده مشاهده کنند، بازگرداند. مقدار پارامتر یک کد کشور ISO 3166-1 alpha-2 است. | |
relevanceLanguage | string پارامتر relevanceLanguage به API دستور می دهد تا نتایج جستجو را که بیشترین ارتباط را با زبان مشخص شده دارند، بازگرداند. مقدار پارامتر معمولاً یک کد زبان دو حرفی ISO 639-1 است. با این حال، باید از مقادیر zh-Hans برای چینی ساده شده و zh-Hant برای چینی سنتی استفاده کنید. لطفاً توجه داشته باشید که نتایج به زبانهای دیگر در صورتی که بسیار مرتبط با عبارت عبارت جستجو باشند باز هم بازگردانده میشوند. | |
safeSearch | string پارامتر safeSearch نشان می دهد که آیا نتایج جستجو باید شامل محتوای محدود و همچنین محتوای استاندارد باشد یا خیر.مقادیر قابل قبول عبارتند از:
| |
topicId | string پارامتر topicId نشان می دهد که پاسخ API فقط باید حاوی منابع مرتبط با موضوع مشخص شده باشد. مقدار شناسه موضوع Freebase را مشخص می کند.مهم: به دلیل منسوخ شدن Freebase و Freebase API، پارامتر topicId از 27 فوریه 2017 به طور متفاوت شروع به کار کرد. در آن زمان، YouTube شروع به پشتیبانی از مجموعه کوچکی از شناسههای موضوع انتخابی کرد، و شما فقط میتوانید از آن مجموعه کوچکتر استفاده کنید. شناسه ها به عنوان مقادیر این پارامتر. | |
type | string پارامتر type یک عبارت جستجو را محدود می کند تا فقط نوع خاصی از منبع را بازیابی کند. مقدار یک لیست از انواع منابع جدا شده با کاما است. مقدار پیش فرض video,channel,playlist است.مقادیر قابل قبول عبارتند از:
| |
videoCaption | string پارامتر videoCaption نشان میدهد که آیا API باید نتایج جستجوی ویدیو را بر اساس داشتن شرح فیلتر کند یا خیر. اگر مقداری برای این پارامتر مشخص کنید، باید مقدار پارامتر type را نیز روی video تنظیم کنید.مقادیر قابل قبول عبارتند از:
| |
videoCategoryId | string پارامتر videoCategoryId نتایج جستجوی ویدیو را بر اساس دسته آنها فیلتر می کند. اگر مقداری برای این پارامتر مشخص کنید، باید مقدار پارامتر type را نیز روی video تنظیم کنید. | |
videoDefinition | string پارامتر videoDefinition به شما امکان میدهد جستجو را محدود کنید تا فقط ویدیوهای با کیفیت بالا (HD) یا کیفیت استاندارد (SD) را شامل شود. ویدیوهای HD برای پخش حداقل 720p در دسترس هستند، اگرچه رزولوشنهای بالاتر مانند 1080p نیز ممکن است در دسترس باشند. اگر مقداری برای این پارامتر مشخص کنید، باید مقدار پارامتر type را نیز روی video تنظیم کنید.مقادیر قابل قبول عبارتند از:
| |
videoDimension | string پارامتر videoDimension به شما امکان می دهد جستجو را محدود کنید تا فقط ویدیوهای دو بعدی یا سه بعدی را بازیابی کنید. اگر مقداری برای این پارامتر مشخص کنید، باید مقدار پارامتر type را نیز روی video تنظیم کنید.مقادیر قابل قبول عبارتند از:
| |
videoDuration | string پارامتر videoDuration نتایج جستجوی ویدیو را بر اساس مدت زمان آنها فیلتر می کند. اگر مقداری برای این پارامتر مشخص کنید، باید مقدار پارامتر type را نیز روی video تنظیم کنید.مقادیر قابل قبول عبارتند از:
| |
videoEmbeddable | string پارامتر videoEmbeddable به شما امکان می دهد جستجو را فقط به ویدیوهایی محدود کنید که می توانند در یک صفحه وب جاسازی شوند. اگر مقداری برای این پارامتر مشخص کنید، باید مقدار پارامتر type را نیز روی video تنظیم کنید.مقادیر قابل قبول عبارتند از:
| |
videoLicense | string پارامتر videoLicense نتایج جستجو را فیلتر می کند تا فقط ویدیوهای دارای مجوز خاص را شامل شود. YouTube به آپلودکنندگان ویدیو اجازه میدهد مجوز Creative Commons یا مجوز استاندارد YouTube را به هر یک از ویدیوهای خود پیوست کنند. اگر مقداری برای این پارامتر مشخص کنید، باید مقدار پارامتر type را نیز روی video تنظیم کنید.مقادیر قابل قبول عبارتند از:
| |
videoPaidProductPlacement | string پارامتر videoPaidProductPlacement نتایج جستجو را فیلتر میکند تا فقط ویدیوهایی را شامل شود که سازنده آنها را دارای تبلیغات پولی معرفی کرده است. اگر مقداری برای این پارامتر مشخص کنید، باید مقدار پارامتر type را نیز روی video تنظیم کنید.مقادیر قابل قبول عبارتند از:
| |
videoSyndicated | string پارامتر videoSyndicated به شما امکان می دهد جستجو را فقط به ویدیوهایی که خارج از youtube.com پخش می شوند محدود کنید. اگر مقداری برای این پارامتر مشخص کنید، باید مقدار پارامتر type را نیز روی video تنظیم کنید.مقادیر قابل قبول عبارتند از:
| |
videoType | string پارامتر videoType به شما امکان می دهد جستجو را به نوع خاصی از ویدیوها محدود کنید. اگر مقداری برای این پارامتر مشخص کنید، باید مقدار پارامتر type را نیز روی video تنظیم کنید.مقادیر قابل قبول عبارتند از:
|
درخواست بدن
هنگام فراخوانی این روش، بدنه درخواست ارائه نکنید.
واکنش
در صورت موفقیت آمیز بودن، این روش یک بدنه پاسخ با ساختار زیر را برمی گرداند:
{ "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 فهرستی از نتایجی که با معیارهای جستجو مطابقت دارند. |
مثال ها
توجه: نمونه کد زیر ممکن است نشان دهنده همه زبان های برنامه نویسی پشتیبانی شده نباشد. برای فهرستی از زبان های پشتیبانی شده، به مستندات کتابخانه های سرویس گیرنده مراجعه کنید.
اسکریپت برنامه ها
این تابع ویدیوهای مرتبط با کلمه کلیدی "سگ" را جستجو می کند. شناسههای ویدیویی و عناوین نتایج جستجو در گزارش Apps Script ثبت میشوند.توجه داشته باشید که این نمونه نتایج را به 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); } }
برو
این نمونه کد، متدsearch.list
API را برای بازیابی نتایج جستجو مرتبط با یک کلمه کلیدی خاص فراخوانی می کند.این مثال از کتابخانه سرویس گیرنده 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") }
.خالص
نمونه کد زیر روشsearch.list
API را برای بازیابی نتایج جستجو مرتبط با یک کلمه کلیدی خاص فراخوانی می کند.این مثال از کتابخانه سرویس گیرنده دات نت استفاده می کند.
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))); } } }
روبی
این نمونه روشsearch.list
API را برای بازیابی نتایج جستجو مرتبط با یک کلمه کلیدی خاص فراخوانی می کند.این مثال از کتابخانه کلاینت 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 تنظیم کنید. |
آن را امتحان کنید!
از APIs Explorer برای فراخوانی این API و مشاهده درخواست و پاسخ API استفاده کنید.