Search: list

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

कोटा असर: इस तरीके को कॉल करने की कोटा लागत 100 यूनिट होती है.

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

अनुरोध

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

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

पैरामीटर

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

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

forContentOwner पैरामीटर का इस्तेमाल करने पर, खोज नतीजों में सिर्फ़ वही वीडियो दिखते हैं जिनका मालिकाना हक onBehalfOfContentOwner पैरामीटर के मालिकाना हक वाले कॉन्टेंट के मालिक के पास होता है. अगर forContentOwner 'सही है' पर सेट है, तो अनुरोध में ये शर्तें भी पूरी होनी चाहिए:
  • 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 के नतीजों में ज़्यादा से ज़्यादा 500 वीडियो तक सीमित किए जा सकते हैं. हालांकि, यह type पैरामीटर वैल्यू को video पर सेट करता है, लेकिन 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 पैरामीटर के लिए वैल्यू तय करता है, लेकिन एपीआई पैरामीटर के लिए कोई वैल्यू तय नहीं करता है, तो एपीआई गड़बड़ी दिखाता है.

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

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

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

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

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

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

अहम जानकारी: Freebase और Freebase API के बंद होने की वजह से, topicId पैरामीटर 27 फ़रवरी, 2017 से अलग तरीके से काम करना शुरू कर दिया है. उस समय, 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 पैरामीटर का इस्तेमाल करके, किसी खोज पर सिर्फ़ 3D या 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
इस संसाधन का ऐटैग.
nextPageToken string
वह टोकन, जिसका इस्तेमाल नतीजे वाले सेट में अगला पेज पाने के लिए, pageToken पैरामीटर की वैल्यू के तौर पर किया जा सकता है.
prevPageToken string
वह टोकन, जिसका इस्तेमाल नतीजे के सेट में पिछला पेज वापस लाने के लिए, pageToken पैरामीटर की वैल्यू के तौर पर किया जा सकता है.
regionCode string
क्षेत्र का वह कोड जिसका इस्तेमाल खोज क्वेरी के लिए किया गया था. प्रॉपर्टी की वैल्यू, दो अक्षरों वाला ISO देश कोड होता है, जो इलाके की पहचान करता है. 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/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) 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 का इस्तेमाल करें.