Search: list

यह एपीआई अनुरोध में बताए गए क्वेरी पैरामीटर से मेल खाने वाले खोज के नतीजों का कलेक्शन दिखाता है. डिफ़ॉल्ट रूप से, खोज के नतीजों का सेट, मैच होने वाले video, channel, और playlist संसाधनों की पहचान करता है. हालांकि, क्वेरी को सिर्फ़ किसी खास तरह के संसाधन को वापस पाने के लिए भी कॉन्फ़िगर किया जा सकता है.

कोटा पर असर: हर दिन 100 कॉल. इस तरीके को कॉल करने पर, सर्च क्वेरी के कोटा बकेट में एक यूनिट की कोटा लागत आती है.

इस्तेमाल के सामान्य उदाहरण

अनुरोध

एचटीटीपी अनुरोध

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

पैरामीटर

यहां दी गई टेबल में उन पैरामीटर की सूची दी गई है जो इस क्वेरी के साथ काम करते हैं. सूची में दिए गए सभी पैरामीटर, क्वेरी पैरामीटर हैं.

पैरामीटर
ज़रूरी पैरामीटर
part string
part पैरामीटर, कॉमा से अलग की गई एक या उससे ज़्यादा search संसाधन प्रॉपर्टी की सूची तय करता है. एपीआई रिस्पॉन्स में ये प्रॉपर्टी शामिल होंगी. पैरामीटर की वैल्यू को snippet पर सेट करें.
फ़िल्टर (इनमें से कोई एक पैरामीटर तय करें या कोई भी पैरामीटर तय न करें)
forContentOwner boolean
इस पैरामीटर का इस्तेमाल, सिर्फ़ सही तरीके से अनुमति वाले अनुरोध में किया जा सकता है. साथ ही, यह सिर्फ़ YouTube के कॉन्टेंट पार्टनर के लिए है.

forContentOwner पैरामीटर, खोज को सिर्फ़ उन वीडियो को वापस पाने के लिए सीमित करता है जिनका मालिकाना हक, onBehalfOfContentOwner पैरामीटर से पहचाने गए कॉन्टेंट के मालिक के पास है. अगर forContentOwner को true पर सेट किया गया है, तो अनुरोध को ये ज़रूरी शर्तें भी पूरी करनी होंगी:
  • onBehalfOfContentOwner पैरामीटर ज़रूरी है.
  • अनुरोध को अनुमति देने वाले उपयोगकर्ता को, कॉन्टेंट के मालिक के तौर पर बताए गए खाते से लिंक किए गए खाते का इस्तेमाल करना होगा.
  • type पैरामीटर की वैल्यू को video पर सेट करना ज़रूरी है.
  • इनमें से कोई भी अन्य पैरामीटर सेट नहीं किया जा सकता: videoDefinition, videoDimension, videoDuration, videoEmbeddable, videoLicense, videoPaidProductPlacement, videoSyndicated, videoType.
forDeveloper boolean
इस पैरामीटर का इस्तेमाल सिर्फ़ सही तरीके से अनुमति वाले अनुरोध में किया जा सकता है. forDeveloper पैरामीटर, खोज को सिर्फ़ उन वीडियो को वापस पाने के लिए सीमित करता है जिन्हें डेवलपर के ऐप्लिकेशन या वेबसाइट से अपलोड किया गया है. एपीआई सर्वर, डेवलपर की पहचान करने के लिए अनुरोध के ऑथराइज़ेशन क्रेडेंशियल का इस्तेमाल करता है. forDeveloper पैरामीटर का इस्तेमाल, खोज के वैकल्पिक पैरामीटर के साथ किया जा सकता है. जैसे, q पैरामीटर.

इस सुविधा के लिए, अपलोड किए गए हर वीडियो को उस प्रोजेक्ट नंबर के साथ अपने-आप टैग किया जाता है जो Google Developers Console में डेवलपर के ऐप्लिकेशन से जुड़ा होता है.

इसके बाद, जब खोज का कोई अनुरोध forDeveloper पैरामीटर को true पर सेट करता है, तो एपीआई सर्वर, डेवलपर की पहचान करने के लिए अनुरोध के अनुमति क्रेडेंशियल का इस्तेमाल करता है. इसलिए, डेवलपर अपने ऐप्लिकेशन या वेबसाइट से अपलोड किए गए वीडियो के नतीजों को सीमित कर सकता है. हालांकि, वह अन्य ऐप्लिकेशन या साइटों से अपलोड किए गए वीडियो के नतीजों को सीमित नहीं कर सकता.
forMine boolean
इस पैरामीटर का इस्तेमाल सिर्फ़ सही तरीके से अनुमति वाले अनुरोध में किया जा सकता है. forMine पैरामीटर, खोज को सिर्फ़ उन वीडियो को वापस पाने के लिए सीमित करता है जो पुष्टि किए गए उपयोगकर्ता के मालिकाना हक वाले हैं. अगर इस पैरामीटर को true पर सेट किया जाता है, तो type पैरामीटर की वैल्यू को भी video पर सेट करना होगा. इसके अलावा, एक ही अनुरोध में इनमें से कोई भी अन्य पैरामीटर सेट नहीं किया जा सकता: videoDefinition, videoDimension, videoDuration, videoEmbeddable, videoLicense, videoPaidProductPlacement, videoSyndicated, videoType.
वैकल्पिक पैरामीटर
channelId string
channelId पैरामीटर से पता चलता है कि एपीआई से मिली जानकारी में सिर्फ़ चैनल के बनाए गए संसाधन शामिल होने चाहिए.

ध्यान दें: अगर आपके अनुरोध में channelId पैरामीटर की वैल्यू दी गई है और type पैरामीटर की वैल्यू video पर सेट है, तो खोज के नतीजों में ज़्यादा से ज़्यादा 500 वीडियो दिखेंगे. हालांकि, इसके लिए ज़रूरी है कि forContentOwner, forDeveloper या forMine में से कोई भी फ़िल्टर सेट न किया गया हो.
channelType string
channelType पैरामीटर की मदद से, खोज को किसी खास तरह के चैनल तक सीमित किया जा सकता है.

इसकी वैल्यू ये हो सकती हैं:
  • any – सभी चैनल वापस लाएं.
  • show – सिर्फ़ शो वापस पाएं.
eventType string
eventType पैरामीटर, खोज को ब्रॉडकास्ट इवेंट तक सीमित करता है. अगर इस पैरामीटर के लिए कोई वैल्यू तय की जाती है, तो आपको type पैरामीटर की वैल्यू को भी video पर सेट करना होगा.

ये वैल्यू डाली जा सकती हैं:
  • completed – सिर्फ़ पूरे हो चुके ब्रॉडकास्ट शामिल करें.
  • live – सिर्फ़ चालू ब्रॉडकास्ट शामिल करें.
  • upcoming – सिर्फ़ आने वाले ब्रॉडकास्ट शामिल करें.
location string
location पैरामीटर, locationRadius पैरामीटर के साथ मिलकर, एक गोल भौगोलिक क्षेत्र तय करता है. साथ ही, यह खोज को उन वीडियो तक सीमित करता है जिनके मेटाडेटा में, उस क्षेत्र के अंदर आने वाली भौगोलिक जगह की जानकारी दी गई हो. पैरामीटर वैल्यू एक स्ट्रिंग होती है, जो अक्षांश/देशांतर के निर्देशांक बताती है. उदाहरण के लिए, (37.42307,-122.08427).

  • location पैरामीटर वैल्यू से, इलाके के बीच के पॉइंट की पहचान होती है.
  • locationRadius पैरामीटर से यह तय होता है कि वीडियो से जुड़ी जगह, उस पॉइंट से कितनी दूरी पर हो सकती है, ताकि वीडियो को खोज के नतीजों में शामिल किया जा सके.
अगर आपके अनुरोध में location पैरामीटर के लिए कोई वैल्यू दी गई है, लेकिन locationRadius पैरामीटर के लिए कोई वैल्यू नहीं दी गई है, तो एपीआई गड़बड़ी दिखाता है.

ध्यान दें: अगर आपने इस पैरामीटर के लिए कोई वैल्यू दी है, तो आपको type पैरामीटर की वैल्यू को video पर भी सेट करना होगा.
locationRadius string
locationRadius पैरामीटर, location पैरामीटर के साथ मिलकर, एक सर्कुलर भौगोलिक क्षेत्र तय करता है.

पैरामीटर की वैल्यू, फ़्लोटिंग पॉइंट नंबर होनी चाहिए. इसके बाद, मेज़रमेंट यूनिट होनी चाहिए. माप की मान्य इकाइयां m, km, ft, और mi हैं. उदाहरण के लिए, मान्य पैरामीटर वैल्यू में 1500m, 5km, 10000ft, और 0.75mi शामिल हैं. एपीआई, 1,000 किलोमीटर से ज़्यादा की locationRadius पैरामीटर वैल्यू के साथ काम नहीं करता.

ध्यान दें: ज़्यादा जानकारी के लिए, location पैरामीटर की परिभाषा देखें.
maxResults unsigned integer
maxResults पैरामीटर, उन आइटम की ज़्यादा से ज़्यादा संख्या तय करता है जिन्हें नतीजों के सेट में दिखाया जाना चाहिए. 0 से 50 तक की वैल्यू डाली जा सकती हैं. डिफ़ॉल्ट वैल्यू 5 है.

onBehalfOfContentOwner string
इस पैरामीटर का इस्तेमाल सिर्फ़ अनुमति वाले अनुरोध में किया जा सकता है. ध्यान दें: यह पैरामीटर सिर्फ़ YouTube के कॉन्टेंट पार्टनर के लिए है.

onBehalfOfContentOwner पैरामीटर से पता चलता है कि अनुरोध के अनुमति क्रेडेंशियल, YouTube सीएमएस के उस उपयोगकर्ता की पहचान करते हैं जो पैरामीटर वैल्यू में बताए गए कॉन्टेंट के मालिक की ओर से काम कर रहा है. यह पैरामीटर, YouTube के उन कॉन्टेंट पार्टनर के लिए है जिनके पास कई YouTube चैनलों का मालिकाना हक है और जो उन्हें मैनेज करते हैं. इसकी मदद से, कॉन्टेंट के मालिक एक बार पुष्टि करके अपने सभी वीडियो और चैनल का डेटा ऐक्सेस कर सकते हैं. इसके लिए, उन्हें हर चैनल के लिए पुष्टि करने वाले क्रेडेंशियल देने की ज़रूरत नहीं होती. उपयोगकर्ता जिस कॉन्टेंट मैनेजमेंट सिस्टम खाते से पुष्टि करता है वह YouTube कॉन्टेंट के मालिक के खाते से लिंक होना चाहिए.
order string
order पैरामीटर से यह तय होता है कि एपीआई से मिली जानकारी में, संसाधनों को क्रम में लगाने के लिए किस तरीके का इस्तेमाल किया जाएगा. डिफ़ॉल्ट वैल्यू relevance है.

इन वैल्यू का इस्तेमाल किया जा सकता है:
  • date – संसाधनों को उनके बनाए जाने की तारीख के हिसाब से, उल्टे क्रम में लगाया जाता है. ध्यान दें: यह सुविधा, खोज के इंडेक्स पर निर्भर करती है. इसलिए, ऐसा हो सकता है कि नए कॉन्टेंट को इंडेक्स करने में देरी हो या आपको नतीजों का अधूरा सेट मिले. किसी चैनल पर हाल ही में अपलोड किए गए वीडियो को भरोसेमंद तरीके से वापस पाने के लिए, search.list का इस्तेमाल न करें. इसके बजाय, चैनल की अपलोड की गई प्लेलिस्ट को फ़ेच करने के लिए, playlistItems.list तरीके का इस्तेमाल करें.
  • rating – संसाधनों को सबसे ज़्यादा से सबसे कम रेटिंग के हिसाब से क्रम में लगाया जाता है. ध्यान दें: इस रेटिंग का हिसाब, इंटरनल एल्गोरिदम के स्कोर का इस्तेमाल करके लगाया जाता है. यह ज़रूरी नहीं है कि यह रेटिंग, 'पसंद किए गए' की संख्या के घटते क्रम के बराबर हो.
  • relevance – संसाधनों को खोज क्वेरी के हिसाब से क्रम में लगाया जाता है. यह इस पैरामीटर की डिफ़ॉल्ट वैल्यू है.
  • title – संसाधनों को उनके टाइटल के हिसाब से अंग्रेज़ी वर्णमाला के क्रम में लगाया जाता है.
  • videoCount – चैनलों को अपलोड किए गए वीडियो की संख्या के हिसाब से, घटते क्रम में लगाया जाता है.
  • viewCount – संसाधनों को सबसे ज़्यादा से सबसे कम व्यू के हिसाब से क्रम में लगाया जाता है. लाइव ब्रॉडकास्ट के दौरान, वीडियो को एक साथ देखने वाले दर्शकों की संख्या के हिसाब से क्रम में लगाया जाता है.
pageToken string
pageToken पैरामीटर, नतीजों के सेट में मौजूद उस पेज की पहचान करता है जिसे दिखाया जाना चाहिए. एपीआई से मिली जानकारी में, nextPageToken और prevPageToken प्रॉपर्टी से उन अन्य पेजों की पहचान होती है जिन्हें वापस पाया जा सकता है.
publishedAfter datetime
publishedAfter पैरामीटर से पता चलता है कि एपीआई से मिली जानकारी में सिर्फ़ वे संसाधन शामिल होने चाहिए जो तय किए गए समय पर या उसके बाद बनाए गए हों. यह वैल्यू, आरएफ़सी 3339 फ़ॉर्मैट में तारीख और समय की वैल्यू (1970-01-01T00:00:00Z) है.
publishedBefore datetime
publishedBefore पैरामीटर से पता चलता है कि एपीआई से मिली जानकारी में सिर्फ़ वे संसाधन शामिल होने चाहिए जो तय किए गए समय से पहले या उस समय बनाए गए हों. यह वैल्यू, आरएफ़सी 3339 फ़ॉर्मैट में तारीख और समय की वैल्यू (1970-01-01T00:00:00Z) है.
q string
q पैरामीटर, खोज के लिए इस्तेमाल किए जाने वाले शब्द के बारे में बताता है.

आपके अनुरोध में, बूलियन NOT (-) और OR (|) ऑपरेटर का इस्तेमाल भी किया जा सकता है. इससे, वीडियो को खोज के नतीजों से हटाया जा सकता है या ऐसे वीडियो ढूंढे जा सकते हैं जो खोज के लिए इस्तेमाल किए गए कई शब्दों में से किसी एक से जुड़े हों. उदाहरण के लिए, "boating" या "sailing" से मैच होने वाले वीडियो खोजने के लिए, q पैरामीटर वैल्यू को boating|sailing पर सेट करें. इसी तरह, "boating" या "sailing" से मैच होने वाले वीडियो खोजने के लिए, q पैरामीटर की वैल्यू को boating|sailing -fishing पर सेट करें. हालांकि, इसमें "fishing" से मैच होने वाले वीडियो शामिल नहीं होंगे. ध्यान दें कि जब पाइप वर्ण को आपके एपीआई अनुरोध में भेजा जाता है, तो उसे यूआरएल-एस्केप किया जाना चाहिए. पाइप वर्ण के लिए यूआरएल-एस्केप वैल्यू %7C है.
regionCode string
regionCode पैरामीटर, एपीआई को उन वीडियो के खोज नतीजे दिखाने का निर्देश देता है जिन्हें किसी देश में देखा जा सकता है. इस पैरामीटर की वैल्यू, ISO 3166-1 alpha-2 देश का कोड है.
relevanceLanguage string
relevanceLanguage पैरामीटर, एपीआई को खोज के ऐसे नतीजे दिखाने का निर्देश देता है जो बताई गई भाषा के हिसाब से सबसे ज़्यादा काम के हों. इस पैरामीटर की वैल्यू आम तौर पर, आईएसओ 639-1 के दो अक्षरों वाला भाषा कोड होती है. हालांकि, आपको सिम्प्लिफ़ाइड चाइनीज़ के लिए zh-Hans और ट्रेडिशनल चाइनीज़ के लिए zh-Hant वैल्यू का इस्तेमाल करना चाहिए. कृपया ध्यान दें कि अगर अन्य भाषाओं में मौजूद नतीजे, सर्च क्वेरी से काफ़ी मिलते-जुलते हैं, तो वे अब भी दिखाए जाएंगे.
safeSearch string
safeSearch पैरामीटर से पता चलता है कि खोज के नतीजों में प्रतिबंधित कॉन्टेंट और स्टैंडर्ड कॉन्टेंट, दोनों शामिल होने चाहिए या नहीं.

स्वीकार की जाने वाली वैल्यू ये हैं:
  • moderate – YouTube, खोज के नतीजों से कुछ कॉन्टेंट को फ़िल्टर कर देगा. साथ ही, वह कम से कम उस कॉन्टेंट को फ़िल्टर कर देगा जिस पर आपके देश/इलाके में पाबंदी लगी है. कॉन्टेंट के आधार पर, खोज के नतीजों को खोज के नतीजों से हटाया जा सकता है या खोज के नतीजों में उनका दर्जा घटाया जा सकता है. यह डिफ़ॉल्ट पैरामीटर वैल्यू है.
  • none – YouTube, खोज के नतीजों के सेट को फ़िल्टर नहीं करेगा.
  • strict – YouTube, खोज नतीजों के सेट से पाबंदी वाला सभी कॉन्टेंट हटाने की कोशिश करेगा. कॉन्टेंट के आधार पर, खोज के नतीजों को खोज के नतीजों से हटाया जा सकता है या खोज के नतीजों में उनका दर्जा घटाया जा सकता है.
topicId string
topicId पैरामीटर से पता चलता है कि एपीआई से मिली जानकारी में, सिर्फ़ दिए गए विषय से जुड़े संसाधन शामिल होने चाहिए. इस वैल्यू से, Freebase के विषय का आईडी पता चलता है.

अहम जानकारी: Freebase और Freebase API के बंद होने की वजह से, 27 फ़रवरी, 2017 से topicId पैरामीटर अलग तरीके से काम करने लगा. उस समय, YouTube ने चुने गए विषय के आईडी के एक छोटे सेट के लिए सहायता शुरू की थी. इस पैरामीटर की वैल्यू के तौर पर, सिर्फ़ आईडी के उस छोटे सेट का इस्तेमाल किया जा सकता है.

type string
type पैरामीटर, सर्च क्वेरी को सिर्फ़ किसी खास तरह के संसाधन को वापस पाने के लिए सीमित करता है. यह वैल्यू, रिसॉर्स टाइप की कॉमा लगाकर अलग की गई लिस्ट होती है. डिफ़ॉल्ट वैल्यू video,channel,playlist है.

इन वैल्यू का इस्तेमाल किया जा सकता है:
  • channel
  • playlist
  • video
videoCaption string
videoCaption पैरामीटर से पता चलता है कि एपीआई को वीडियो खोज के नतीजों को इस आधार पर फ़िल्टर करना चाहिए या नहीं कि उनमें कैप्शन हैं या नहीं. इस पैरामीटर के लिए वैल्यू तय करने पर, आपको type पैरामीटर की वैल्यू को video पर भी सेट करना होगा.

इन वैल्यू का इस्तेमाल किया जा सकता है:
  • any – कैप्शन की उपलब्धता के आधार पर नतीजों को फ़िल्टर न करें.
  • closedCaption – सिर्फ़ ऐसे वीडियो शामिल करें जिनमें कैप्शन हों.
  • none – सिर्फ़ वे वीडियो शामिल करें जिनमें कैप्शन नहीं हैं.
videoCategoryId string
videoCategoryId पैरामीटर, वीडियो खोज के नतीजों को उनकी कैटगरी के आधार पर फ़िल्टर करता है. अगर आपने इस पैरामीटर के लिए कोई वैल्यू तय की है, तो आपको type पैरामीटर की वैल्यू को video पर भी सेट करना होगा.
videoDefinition string
videoDefinition पैरामीटर की मदद से, खोज के नतीजों को सिर्फ़ हाई डेफ़िनिशन (एचडी) या स्टैंडर्ड डेफ़िनिशन (एसडी) वीडियो तक सीमित किया जा सकता है. एचडी वीडियो, कम से कम 720 पिक्सल में चलाए जा सकते हैं. हालांकि, 1080 पिक्सल जैसे ज़्यादा रिज़ॉल्यूशन वाले वीडियो भी उपलब्ध हो सकते हैं. इस पैरामीटर के लिए वैल्यू तय करने पर, आपको type पैरामीटर की वैल्यू को video पर भी सेट करना होगा.

इन वैल्यू का इस्तेमाल किया जा सकता है:
  • any – सभी वीडियो दिखाएं, चाहे उनका रिज़ॉल्यूशन कुछ भी हो.
  • high – सिर्फ़ एचडी वीडियो पाएं.
  • standard – सिर्फ़ स्टैंडर्ड डेफ़िनिशन वाले वीडियो वापस पाएं.
videoDimension string
videoDimension पैरामीटर की मदद से, खोज के नतीजों में सिर्फ़ 2D या 3D वीडियो दिखाए जा सकते हैं. इस पैरामीटर के लिए वैल्यू तय करने पर, आपको type पैरामीटर की वैल्यू को video पर भी सेट करना होगा.

इन वैल्यू का इस्तेमाल किया जा सकता है:
  • 2d – खोज के नतीजों में 3D वीडियो शामिल न करने के लिए, इस फ़िल्टर का इस्तेमाल करें.
  • 3d – खोज के नतीजों में सिर्फ़ 3D वीडियो शामिल करें.
  • any – खोज के नतीजों में 3D और बिना 3D वाले वीडियो, दोनों शामिल करें. यह डिफ़ॉल्ट मान है.
videoDuration string
videoDuration पैरामीटर, वीडियो की अवधि के आधार पर खोज के नतीजों को फ़िल्टर करता है. अगर इस पैरामीटर के लिए कोई वैल्यू तय की जाती है, तो आपको type पैरामीटर की वैल्यू को भी video पर सेट करना होगा.

ये वैल्यू डाली जा सकती हैं:
  • any – वीडियो की अवधि के आधार पर, खोज के नतीजों को फ़िल्टर न करें. यह डिफ़ॉल्ट मान है.
  • long – सिर्फ़ 20 मिनट से ज़्यादा अवधि वाले वीडियो शामिल करें.
  • medium – सिर्फ़ चार से 20 मिनट तक की अवधि वाले वीडियो शामिल करें.
  • short – सिर्फ़ चार मिनट से कम अवधि के वीडियो शामिल करें.
videoEmbeddable string
videoEmbeddable पैरामीटर की मदद से, खोज के नतीजों को सिर्फ़ उन वीडियो तक सीमित किया जा सकता है जिन्हें किसी वेबपेज में एम्बेड किया जा सकता है. इस पैरामीटर के लिए वैल्यू तय करने पर, आपको type पैरामीटर की वैल्यू को video पर भी सेट करना होगा.

इन वैल्यू का इस्तेमाल किया जा सकता है:
  • any – सभी वीडियो दिखाएं, चाहे उन्हें एम्बेड किया जा सकता हो या नहीं.
  • true – सिर्फ़ एम्बेड किए जा सकने वाले वीडियो पाएं.
videoLicense string
videoLicense पैरामीटर, खोज के नतीजों को फ़िल्टर करता है, ताकि सिर्फ़ किसी खास लाइसेंस वाले वीडियो शामिल किए जा सकें. YouTube, वीडियो अपलोड करने वाले लोगों को अपने हर वीडियो के लिए, क्रिएटिव कॉमंस लाइसेंस या YouTube के स्टैंडर्ड लाइसेंस में से किसी एक को चुनने की सुविधा देता है. अगर आपने इस पैरामीटर के लिए कोई वैल्यू तय की है, तो आपको type पैरामीटर की वैल्यू को भी video पर सेट करना होगा.

ये वैल्यू डाली जा सकती हैं:
  • any – क्वेरी पैरामीटर से मैच होने वाले सभी वीडियो दिखाता है, भले ही उनके पास कोई भी लाइसेंस हो.
  • creativeCommon – सिर्फ़ वे वीडियो दिखाएं जिनके पास क्रिएटिव कॉमंस लाइसेंस है. उपयोगकर्ता, इस लाइसेंस वाले वीडियो को अपने बनाए गए अन्य वीडियो में फिर से इस्तेमाल कर सकते हैं. ज़्यादा जानें.
  • 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
इससे एपीआई संसाधन के टाइप की पहचान होती है. वैल्यू youtube#searchListResponse होगी.
etag etag
इस संसाधन का Etag.
nextPageToken string
वह टोकन जिसका इस्तेमाल pageToken पैरामीटर की वैल्यू के तौर पर किया जा सकता है, ताकि नतीजों के सेट में अगला पेज वापस लाया जा सके.
prevPageToken string
वह टोकन जिसे pageToken पैरामीटर की वैल्यू के तौर पर इस्तेमाल किया जा सकता है, ताकि नतीजों के सेट में पिछले पेज को वापस लाया जा सके.
regionCode string
सर्च क्वेरी के लिए इस्तेमाल किया गया क्षेत्र कोड. प्रॉपर्टी की वैल्यू, दो अक्षरों वाला आईएसओ देश कोड होती है. इससे क्षेत्र की पहचान होती है. i18nRegions.list वाला तरीका, उपलब्धता वाले देशों या इलाकों की सूची दिखाता है. डिफ़ॉल्ट वैल्यू US है. अगर किसी ऐसे देश/इलाके का नाम दिया गया है जहां यह सुविधा उपलब्ध नहीं है, तो हो सकता है कि YouTube क्वेरी को हैंडल करने के लिए, डिफ़ॉल्ट वैल्यू के बजाय किसी दूसरे देश/इलाके का नाम चुने.
pageInfo object
pageInfo ऑब्जेक्ट, नतीजों के सेट के लिए पेजिंग की जानकारी को इनकैप्सुलेट करता है.
pageInfo.totalResults integer
नतीजों के सेट में मौजूद नतीजों की कुल संख्या.कृपया ध्यान दें कि यह वैल्यू अनुमानित है और हो सकता है कि यह सटीक वैल्यू न हो. इसके अलावा, ज़्यादा से ज़्यादा वैल्यू 10,00,000 है.

आपको इस वैल्यू का इस्तेमाल, पेजेशन लिंक बनाने के लिए नहीं करना चाहिए. इसके बजाय, nextPageToken और prevPageToken प्रॉपर्टी की वैल्यू का इस्तेमाल करके यह तय करें कि पेज नंबर वाले लिंक दिखाने हैं या नहीं.
pageInfo.resultsPerPage integer
एपीआई से मिली जानकारी में शामिल नतीजों की संख्या.
items[] list
खोज के लिए डाली गई शर्तों से मेल खाने वाले नतीजों की सूची.

उदाहरण

ध्यान दें: ऐसा हो सकता है कि यहाँ दिए गए कोड सैंपल में, इसके साथ काम करने वाली सभी प्रोग्रामिंग लैंग्वेज न दिखाई गई हों. साथ काम करने वाली भाषाओं की सूची देखने के लिए, क्लाइंट लाइब्रेरी का दस्तावेज़ देखें.

Apps Script

यह फ़ंक्शन, 'कुत्ते' कीवर्ड से जुड़े वीडियो खोजता है. खोज के नतीजों में मिले वीडियो के आईडी और टाइटल, Apps Script के लॉग में लॉग किए जाते हैं.

ध्यान दें कि इस सैंपल में ज़्यादा से ज़्यादा 25 नतीजे दिखाए जा सकते हैं. ज़्यादा नतीजे पाने के लिए, यहां दिए गए दस्तावेज़ में बताए गए तरीके से अतिरिक्त पैरामीटर पास करें: 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);
  }
}

ऐप पर जाएं

यह कोड सैंपल, एपीआई के 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

नीचे दिया गया कोड सैंपल, एपीआई के 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

यह सैंपल, एपीआई के 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

गड़बड़ियां

यहां दी गई टेबल में, गड़बड़ी के उन मैसेज के बारे में बताया गया है जो इस तरीके को कॉल करने पर, एपीआई से मिल सकते हैं. ज़्यादा जानकारी के लिए, कृपया गड़बड़ी के मैसेज वाला दस्तावेज़ देखें.

गड़बड़ी का टाइप गड़बड़ी की जानकारी ब्यौरा
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 का इस्तेमाल करें. साथ ही, एपीआई अनुरोध और जवाब देखें.