Search: list

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

कोटा पर असर: इस तरीके का इस्तेमाल करने पर 100 यूनिट का कोटा खर्च होता है.

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

अनुरोध

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

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

पैरामीटर

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

पैरामीटर
ज़रूरी पैरामीटर
partstring
part पैरामीटर, एक या इससे ज़्यादा search संसाधन प्रॉपर्टी की ऐसी सूची के बारे में बताता है जिसे कॉमा लगाकर अलग किया गया है. यह सूची, एपीआई के रिस्पॉन्स में शामिल होती है. पैरामीटर वैल्यू को snippet पर सेट करें.
फ़िल्टर (इनमें से 0 या 1 पैरामीटर बताएं)
forContentOwnerboolean
इस पैरामीटर का इस्तेमाल सिर्फ़ अनुमति वाले अनुरोध में किया जा सकता है. यह खास तौर पर YouTube कॉन्टेंट पार्टनर के लिए है.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

इन वैल्यू को स्वीकार किया जाता है:
  • any – क्वेरी पैरामीटर से मिलते-जुलते सभी वीडियो दिखाएं. इस बात से कोई फ़र्क़ नहीं पड़ता कि उनके पास कौनसा लाइसेंस है.
  • creativeCommon – सिर्फ़ ऐसे वीडियो लौटाए जा सकते हैं जिनके पास क्रिएटिव कॉमंस लाइसेंस है. उपयोगकर्ता अपने बनाए हुए अन्य वीडियो में, इस लाइसेंस के साथ वीडियो का फिर से इस्तेमाल कर सकते हैं. ज़्यादा जानें.
  • youtube – सिर्फ़ वे वीडियो देखें जिनके पास YouTube का स्टैंडर्ड लाइसेंस है.
videoPaidProductPlacementstring
videoPaidProductPlacement पैरामीटर खोज के नतीजों को फ़िल्टर करके, सिर्फ़ ऐसे वीडियो शामिल करता है जिन्हें क्रिएटर ने पैसे लेकर प्रमोशन करने के तौर पर दिखाया है. अगर इस पैरामीटर के लिए कोई वैल्यू तय की जाती है, तो आपको type पैरामीटर की वैल्यू भी video पर सेट करनी होगी.

ये वैल्यू स्वीकार की जाती हैं:
  • any – सभी वीडियो देखें, चाहे उनमें पैसे लेकर किए गए प्रमोशन शामिल हों या नहीं.
  • true – सिर्फ़ पैसे लेकर किए गए प्रमोशन वाले वीडियो वापस पाएं.
videoSyndicatedstring
videoSyndicated पैरामीटर की मदद से, खोज के नतीजों में सिर्फ़ उन वीडियो को शामिल किया जा सकता है जिन्हें youtube.com पर चलाया जा सकता है. इस पैरामीटर के लिए कोई वैल्यू तय करने पर, type पैरामीटर की वैल्यू को भी video पर सेट करना होगा.

ये वैल्यू स्वीकार की जाती हैं:
  • any – सिंडिकेटेड या नहीं, सभी वीडियो दिखाएं.
  • true – सिर्फ़ ऑफ़लाइन बांटे गए वीडियो पाएं.
videoTypestring
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
  ]
}

प्रॉपर्टी

नीचे दी गई टेबल में, खोज के नतीजों में दिखने वाली प्रॉपर्टी के बारे में बताया गया है:

प्रॉपर्टी
kindstring
इससे पता चलता है कि एपीआई रिसॉर्स किस तरह का है. मान youtube#searchListResponse होगा.
etagetag
इस संसाधन का ईटैग.
nextPageTokenstring
नतीजे के सेट का अगला पेज वापस पाने के लिए, pageToken पैरामीटर की वैल्यू के तौर पर इस्तेमाल किया जा सकने वाला टोकन.
prevPageTokenstring
नतीजे के सेट में पिछले पेज को वापस पाने के लिए, pageToken पैरामीटर की वैल्यू के तौर पर इस्तेमाल किया जा सकने वाला टोकन.
regionCodestring
क्षेत्र का वह कोड जिसका इस्तेमाल खोज क्वेरी के लिए किया गया था. प्रॉपर्टी की वैल्यू, आईएसओ के हिसाब से दो अक्षरों वाला देश कोड है, जिससे इलाके की पहचान होती है. i18nRegions.list वाला तरीका, उन इलाकों की सूची दिखाता है जहां यह सुविधा काम करती है. डिफ़ॉल्ट वैल्यू US है. अगर किसी ऐसे क्षेत्र के बारे में बताया गया है जहां यह सुविधा काम नहीं करती, तो YouTube क्वेरी को हैंडल करने के लिए, डिफ़ॉल्ट वैल्यू के बजाय किसी दूसरे क्षेत्र को चुन सकता है.
pageInfoobject
pageInfo ऑब्जेक्ट, नतीजे के सेट के लिए पेजिंग की जानकारी इकट्ठा करता है.
pageInfo.totalResultsinteger
नतीजे के सेट में नतीजों की कुल संख्या. कृपया ध्यान दें कि यह वैल्यू अनुमानित होती है. ऐसा हो सकता है कि यह सटीक वैल्यू न हो. इसके अलावा, वैल्यू के तौर पर 10,00,000 से ज़्यादा वैल्यू नहीं डाली जा सकती.

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

उदाहरण

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

Apps Script

यह फ़ंक्शन, 'कुत्ते' कीवर्ड से जुड़े वीडियो खोजता है. खोज के नतीजों के वीडियो आईडी और टाइटल, 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 तरीके को कॉल करता है.

इस उदाहरण में, 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)invalidChannelIdchannelId पैरामीटर ने एक अमान्य चैनल आईडी दिया है.
badRequest (400)invalidLocationlocation और/या locationRadius पैरामीटर वैल्यू को गलत तरीके से फ़ॉर्मैट किया गया था.
badRequest (400)invalidRelevanceLanguagerelevanceLanguage पैरामीटर की वैल्यू गलत तरीके से फ़ॉर्मैट की गई थी.
badRequest (400)invalidSearchFilterअनुरोध में खोज फ़िल्टर और/या पाबंदियों का एक अमान्य कॉम्बिनेशन है. ध्यान दें कि अगर forContentOwner या forMine पैरामीटर को true पर सेट किया जाता है, तो आपको type पैरामीटर को video पर सेट करना होगा. अगर eventType, videoCaption, videoCategoryId, videoDefinition, videoDimension, videoDuration, videoEmbeddable, videoLicense, videoSyndicated या videoType पैरामीटर के लिए वैल्यू सेट की जाती है, तो आपको type पैरामीटर को video पर भी सेट करना होगा.

इसे आज़माएं!

इस एपीआई को कॉल करने के लिए, APIs Explorer का इस्तेमाल करें. साथ ही, एपीआई अनुरोध और रिस्पॉन्स देखें.