नमूना API अनुरोध

इस पेज पर, YouTube Data API के लिए अनुरोध के उदाहरण दिखाए जाते हैं. वीडियो, चैनल, और प्लेलिस्ट जैसे YouTube के संसाधनों को वापस पाने और उनमें हेर-फेर करने के लिए, YouTube डेटा एपीआई का इस्तेमाल किया जाता है. हर नमूना, Google API एक्सप्लोरर को लिंक और पॉप्युलेट करता है, ताकि आप नमूने को एक्ज़ीक्यूट कर सकें और जवाब देख सकें.

YouTube Data API का इस्तेमाल करके, वीडियो अपलोड करने के बारे में जानकारी पाने के लिए, फिर से अपलोड करने लायक कॉन्टेंट देखें.

खास जानकारी

इस पेज को बेहतर तरीके से समझने के लिए, इस पेज पर मौजूद सैंपल में हर अनुरोध की खास जानकारी होती है. साथ ही, इसमें उस होस्ट के मूल यूआरएल को छोटा करके दिया जाता है जो डेटा एपीआई अनुरोधों (https://www.googleapis.com/youtube/v3) को प्रोसेस करता है. सैंपल के बारे में नहीं बताया गया अनुरोध करने के लिए, आपको पूरा यूआरएल शामिल करना होगा.

उदाहरण के लिए, यहां एक नमूना अनुरोध दिया गया है, जैसा कि वह इस पेज पर दिखाई देता है:

GET {base-URL}/channels?part=contentDetails
                       &mine=true

इस अनुरोध का पूरा यूआरएल यह है:

GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails
                                                  &mine=true

कई अनुरोध ऐसा डेटा हासिल करते हैं, जिसे सिर्फ़ YouTube चैनल का मालिक ऐक्सेस कर सकता है, जैसे कि सदस्यों की सूची. इन अनुरोधों के मुताबिक, चैनल के मालिक को Google एपीआई एक्सप्लोरर को यह अधिकार देना होगा कि वह चैनल के लिए, YouTube Data API का अनुरोध कर सके. (निजी चैनल डेटा का ऐक्सेस देने के बारे में ज़्यादा जानने के लिए, OAuth 2.0 से पुष्टि करने की सुविधा लागू करना देखें.) एपीआई एक्सप्लोरर से जोड़ने के बाद, OAuth 2.0 का इस्तेमाल करके अनुरोधों को अनुमति दें बटन पर क्लिक करें. यह चरण, एपीआई एक्सप्लोरर को मालिक की ओर से अनुरोध करने की अनुमति देता है. आप अनुमति का दायरा भी चुनते हैं, जिससे तय होता है कि एपीआई एक्सप्लोरर किस तरह के अनुरोध कर सकता है.

हर अनुरोध का जवाब एक YouTube संसाधन का JSON प्रतिनिधित्व है. अनुरोध में मौजूद part पैरामीटर से यह पता चलता है कि रिस्पॉन्स में संसाधन के कौनसे हिस्से शामिल हैं. पैरामीटर, रिस्पॉन्स में शामिल की जाने वाली एक या एक से ज़्यादा टॉप लेवल (नेस्ट नहीं की गई) संसाधन प्रॉपर्टी की पहचान करता है. उदाहरण के लिए, वीडियो संसाधन के कुछ हिस्से यहां दिए गए हैं:

  • स्निपेट
  • कॉन्टेंट की जानकारी
  • खिलाड़ी
  • सांख्यिकी
  • स्थिति

ये सभी भाग, नेस्ट किए गए प्रॉपर्टी वाली ऑब्जेक्ट हैं. आप इन ऑब्जेक्ट को मेटाडेटा फ़ील्ड के ग्रुप की तरह मान सकते हैं, जो एपीआई सर्वर हासिल कर सकता है या नहीं कर सकता है. इसलिए, part पैरामीटर के मुताबिक आपको उन रिसॉर्स कॉम्पोनेंट को चुनना होगा जिनका इस्तेमाल आपका ऐप्लिकेशन करता है.ज़्यादा जानकारी के लिए, YouTube Data API का इस्तेमाल शुरू करना देखें.

चैनल की जानकारी फिर से पाएं

यह अनुरोध, पुष्टि किए गए उपयोगकर्ता के चैनलों के बारे में जानकारी पाने के लिए, channels.list तरीके का इस्तेमाल करता है.

GET {base_URL}/channels?part=contentDetails
                       &mine=true

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

{
  "id": {CHANNEL_ID},
  "kind": "youtube#channel",
  "etag": etag,
  "contentDetails": {
    "relatedPlaylists": {
      "likes": {LIKES_PLAYLIST_ID},
      "favorites": {FAVORITES_PLAYLIST_ID},
      "uploads": {UPLOADS_PLAYLIST_ID},
      "watchHistory": {WATCHHISTORY_PLAYLIST_ID},
      "watchLater": {WATCHLATER_PLAYLIST_ID}
    },
    "googlePlusUserId": string
  },
}

अपलोड किए गए वीडियो और सिस्टम से जनरेट की गई प्लेलिस्ट

YouTube, अपलोड किए गए सभी वीडियो, चैनल से जुड़ी प्लेलिस्ट में जोड़ता है. अपलोड किए गए वीडियो की सूची पाने के लिए, आप चैनल जानकारी के लिए ऊपर दिखाए गए जवाब में "अपलोड की गई" प्लेलिस्ट के बारे में क्वेरी कर सकते हैं. इसके लिए, आपको उस प्लेलिस्ट में मौजूद वीडियो वापस पाने के playlistItems.list तरीके का इस्तेमाल करना होगा.

Google API एक्सप्लोरर में नमूना अनुरोध को पूरा करने से पहले, {UPLOADS_PLAYLIST_ID} को पिछले अनुरोध की प्लेलिस्ट आईडी से बदलें.

GET {base_URL}/playlistItems?part=contentDetails
                            &playlistId={UPLOADS_PLAYLIST_ID}

ध्यान दें कि लौटाए गए हर आइटम की "id" वैल्यू, उसका itemID ID है. contentDetails आइटम में प्लेलिस्ट आइटम का वीडियो आईडी videoId है.

ऊपर मांगी गई जानकारी का इस्तेमाल करके, उपयोगकर्ताओं की पसंद, पसंद, वीडियो देखने का इतिहास या बाद में देखी जाने वाली सूचियों को वापस लाया जा सकता है. इसके लिए चैनल की जानकारी के जवाब से मिलती-जुलती प्लेलिस्ट आईडी को डालें.

उपयोगकर्ता की बनाई हुई प्लेलिस्ट

यह अनुरोध, पुष्टि किए गए चैनल से जुड़ी प्लेलिस्ट वापस पाने के लिए, playlists.list तरीके का इस्तेमाल करता है. ध्यान दें कि इस अनुरोध से, सिस्टम की जनरेट की गई उन प्लेलिस्ट को वापस नहीं लिया जा सकता जो चैनल की जानकारी में (अपलोड किए गए, देखने का इतिहास वगैरह) शामिल हैं. इससे सिर्फ़ लोगों की बनाई हुई प्लेलिस्ट दिखती हैं.

GET {base_URL}/playlists?part=snippet
                        &mine=true

प्लेलिस्ट आईडी पाने के बाद, पिछले सेक्शन में दिखाए गए अनुरोध का इस्तेमाल करके, प्लेलिस्ट से आइटम वापस पाए जा सकते हैं.

आप पुष्टि किए बिना, चैनल की सार्वजनिक प्लेलिस्ट के बारे में जानकारी का अनुरोध कर सकते हैं. जब आप बिना पुष्टि वाला अनुरोध सबमिट करते हैं, तब आपको अनुरोध करने वाले ऐप्लिकेशन के लिए खास एपीआई कुंजी के बारे में बताने वाला key आर्ग्युमेंट शामिल करना होता है. उदाहरण के लिए, यह अनुरोध Googleडेवलपर चैनल से जुड़ी प्लेलिस्ट को फिर से पाता है.

GET {base_URL}/playlists?part=snippet
                        &channelId=UC_x5XG1OV2P6uZZ5FSM9Ttw
                        &key={YOUR_API_KEY}

सदस्यताएं फिर से पाएं

subscription रिसॉर्स, किसी YouTube उपयोगकर्ता (सदस्य) और चैनल के बीच संबंध के बारे में बताता है. subscriptions.list तरीका, सदस्यों को किसी खास चैनल या खास उपयोगकर्ता के लिए, उनकी सदस्यता के हिसाब से दिखाता है. यह इस बात पर निर्भर करता है कि आपने अनुरोध में कौनसे पैरामीटर शामिल किए हैं.

चैनल के सदस्य

यह अनुरोध, पुष्टि किए गए चैनल पर सदस्यों की सूची को फिर से लाता है.

GET {base_URL}/subscriptions?part=snippet
                            &mySubscribers=true

उपयोगकर्ता सदस्यताएं

जिस तरीके से सदस्य (subscriptions.list) सूची में शामिल होते हैं उसका इस्तेमाल उन चैनलों की सूची बनाने के लिए किया जा सकता है जिनकी सदस्यता उपयोगकर्ता ने ली है. इस अनुरोध में, mine पैरामीटर का इस्तेमाल उन YouTube चैनलों की सूची को फिर से पाने के लिए किया जाता है जिनकी पुष्टि उपयोगकर्ता ने की है.

GET {base_URL}/subscriptions?part=snippet
                            &mine=true

उपयोगकर्ता की गतिविधि वापस पाएं

activity संसाधन में, किसी खास चैनल या उपयोगकर्ता की YouTube पर की गई कार्रवाई के बारे में जानकारी होती है. जैसे, वीडियो अपलोड करना, चैनल की सदस्यता लेना वगैरह. activities.list का तरीका, चैनल या उपयोगकर्ता से जुड़ी ऐसी कार्रवाइयों को हासिल करता है जो अनुरोध की शर्तें पूरी करती हैं. उदाहरण के लिए, किसी खास चैनल से जुड़ी कार्रवाइयां, दर्शकों की सदस्यताओं या YouTube के कस्टम होम पेज से कई काम किए जा सकते हैं.

किसी समयावधि के दौरान की गतिविधि

यह अनुरोध उन सभी कार्रवाइयों को फिर से हासिल करता है, जिनकी पुष्टि उपयोगकर्ता ने अप्रैल 2013 के दौरान की थी.

GET {base_URL}/activities?part=snippet,contentDetails
                         &mine=true
                         &publishedAfter=2013-04-01T00%3A00%3A00Z
                         &publishedBefore=2013-05-01T00%3A00%3A00Z

होम पेज पर की गई गतिविधि

यह अनुरोध एक कस्टम गतिविधि फ़ीड को फिर से पाता है, जो पुष्टि किए गए उपयोगकर्ता के YouTube होम पेज पर दिखाई देता है. 

GET {base_URL}/activities?part=snippet,contentDetails
                         &home=true

YouTube वीडियो और चैनलों से जुड़े आंकड़े, लोकप्रियता मेट्रिक, और डेमोग्राफ़िक जानकारी देखने के लिए, YouTube Analytics API का इस्तेमाल करें. एपीआई के अनुरोध का नमूना पेज, YouTube Analytics से सामान्य रिपोर्ट पाने का तरीका दिखाता है.

search.list का इस्तेमाल करके, YouTube वीडियो, चैनल या प्लेलिस्ट को खोजा जा सकता है. वीडियो की प्रॉपर्टी, कीवर्ड या विषय (या इनके मिले-जुले फ़ॉर्मैट) के आधार पर खोज की जा सकती है. साथ ही, वीडियो बनाने की तारीख, देखे जाने की संख्या या रेटिंग जैसी चीज़ों के आधार पर नतीजों को क्रम में लगाया जा सकता है.

दूसरे YouTube डेटा एपीआई अनुरोधों की तरह, search.list का तरीका YouTube के संसाधन के JSON को दिखाता है. हालांकि, YouTube के दूसरे रिसॉर्स से उलट, खोज के नतीजे में ऐसा यूनीक ऑब्जेक्ट नहीं दिखता जो यूनीक आईडी हो.

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

मेरे सबसे ज़्यादा देखे गए वीडियो

इस अनुरोध में, पुष्टि किए गए उपयोगकर्ता के सभी वीडियो वापस मिलते हैं और उन्हें देखे जाने की संख्या के हिसाब से घटते क्रम में लगाया जाता है.

GET {base_URL}/search?part=snippet
                     &forMine=true
                     &order=viewCount
                     &type=video

एम्बेड करने लायक हाई-डेफ़िनिशन वीडियो

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

GET {base_URL}/search?part=snippet
                     &order=rating
                     &type=video
                     &videoDefinition=high
                     &videoEmbeddable=true
                     &key={YOUR_API_KEY}

किसी खास विषय से जुड़े वीडियो

यह अनुरोध YouTube डेटा एपीआई के उन वीडियो के लिए कीवर्ड खोज करता है जिनमें कैप्शन शामिल होते हैं.

GET {base_URL}/search?part=snippet
                     &q=YouTube+Data+API
                     &type=video
                     &videoCaption=closedCaption
                     &key={YOUR_API_KEY}

विषय-आधारित खोज

किसी खास विषय से जुड़े वीडियो खोजने के लिए, कीवर्ड के बजाय Freebase के विषयों का इस्तेमाल करें. YouTube चैनल और वीडियो संसाधनों में topicDetails ऑब्जेक्ट शामिल होता है, जिसमें संसाधन से जुड़े Freebase विषय आईडी की एक सूची होती है. कीवर्ड खोज की तुलना में विषय-आधारित खोज, ज़्यादा समझदारी भरी होती है, क्योंकि फ़्रीबेस विषय वास्तविक दुनिया के सिद्धांत या चीज़ के सभी पहलुओं को दर्शाता है.

Freebase विषय का उपयोग करके खोजने के लिए, पहले आपको Freebase API का उपयोग करके विषय आईडी को फिर से प्राप्त करना होगा. यह अनुरोध Python के लिए Freebase के विषय से जुड़े वीडियो दिखाता है. इस विषय का आईडी /m/05z1_ है.

GET {base_URL}/search?part=snippet
                     &topicId=/m/05z1_
                     &type=video
                     &key={YOUR_API_KEY}

प्लेलिस्ट या चैनल खोजना

खोज वीडियो तक सीमित नहीं है. इसके अलावा, प्लेलिस्ट या चैनल भी खोजे जा सकते हैं. यह अनुरोध 'soccer' कीवर्ड से मेल खाने वाली प्लेलिस्ट को वापस लाता है.

GET {base_URL}/search?part=snippet
                     &q=soccer
                     &type=playlist
                     &key={YOUR_API_KEY}

अगर आपको सॉकर चैनल ढूंढना है, तो type पैरामीटर बदलें.

GET {base_URL}/search?part=snippet
                     &q=soccer
                     &type=channel
                     &key={YOUR_API_KEY}

अगर आप सॉकर से जुड़ा सभी कॉन्टेंट (चैनल, प्लेलिस्ट, और वीडियो) देखना चाहते हैं, तो खोज के लिए यूनिवर्सल लिंक इस्तेमाल करें. अगर type पैरामीटर को छोड़ा जाता है, तो अनुरोध सभी टाइप के कॉन्टेंट को वापस लाता है

GET {base_URL}/search?part=snippet
                     &q=soccer
                     &key={YOUR_API_KEY}

संसाधन बनाना और अपडेट करना

हमने अभी तक जिन अनुरोधों पर गौर किया है, वे YouTube डेटा पाने के लिए एचटीटीपी जीईटी तरीके का इस्तेमाल करते हैं. YouTube Data API में, YouTube पोस्ट बनाने या अपडेट करने के लिए एचटीटीपी POST का इस्तेमाल करने के तरीके भी दिए जाते हैं. इन संसाधनों में वीडियो, प्लेलिस्ट या चैनल शामिल हैं. नीचे दिए गए अनुरोध, उदाहरण के तौर पर दिए गए हैं.

POST के तरीकों में Request body शामिल है. यह संसाधन बनाने या अपडेट करने का JSON के तौर पर काम करता है. आप एक इंटरैक्टिव टूल का इस्तेमाल करके, Google API एक्सप्लोरर में JSON के प्रज़ेंटेशन बना सकते हैं.

सदस्यता देना

यह अनुरोध, पुष्टि किए गए उपयोगकर्ता को Google Developers चैनल की सदस्यता देता है. दूसरे शब्दों में, इससे सदस्यता का संसाधन बनता है.

POST {base_URL}/subscriptions?part=snippet
Request body: {   'snippet': {     'resourceId': {       'kind': 'youtube#channel',       'channelId': 'UC_x5XG1OV2P6uZZ5FSM9Ttw'     }   } }

प्लेलिस्ट बनाना

यह अनुरोध एक नई सार्वजनिक प्लेलिस्ट बनाता है.

POST {base_URL}/playlists?part=snippet
Request body: {   'snippet': {     'title': 'New playlist',     'description': 'Sample playlist for Data API',   } }

प्लेलिस्ट में कोई वीडियो जोड़ना

हमने प्लेलिस्ट बना ली है, इसलिए अब इसमें एक वीडियो जोड़ें. इस अनुरोध से प्लेलिस्ट ('position': 0) की शुरुआत में एक वीडियो जुड़ जाता है.

POST {base_URL}/playlistItems?part=snippet
  Request body:
  {
    'snippet': {
      'playlistId': '{PLAYLIST_ID}', 
      'resourceId': {
          'kind': 'youtube#video',
          'videoId': '{VIDEO_ID}'
        }
     'position': 0
      }
   }