एपीआई अनुरोधों का सैंपल

इस पेज पर, YouTube Data API को भेजे गए सैंपल अनुरोध दिखाए गए हैं. YouTube Data API का इस्तेमाल, YouTube के संसाधनों को वापस पाने और उनमें बदलाव करने के लिए किया जाता है. जैसे, वीडियो, चैनल, और प्लेलिस्ट. हर सैंपल, Google APIs Explorer से लिंक होता है और उसे भरता है, ताकि सैंपल को लागू किया जा सके और जवाब देखा जा सके.

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 APIs Explorer को यह अनुमति देनी होगी कि वह उसकी ओर से YouTube Data API के अनुरोध कर सके. (निजी चैनल के डेटा को ऐक्सेस करने की अनुमति देने के बारे में जानकारी पाने के लिए, OAuth 2.0 से पुष्टि करने की सुविधा लागू करना लेख पढ़ें.) APIs Explorer से लिंक करने के बाद, OAuth 2.0 का इस्तेमाल करके अनुरोधों को अनुमति दें बटन पर क्लिक करें. इस चरण से, APIs Explorer को मालिक की ओर से अनुरोध करने की अनुमति मिलती है. आपको अनुमति का दायरा भी चुनना होता है. इससे यह तय होता है कि APIs explorer किस तरह के अनुरोध कर सकता है.

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

  • स्निपेट
  • contentDetails
  • खिलाड़ी
  • स्टैटिस्टिक्स
  • स्थिति

ये सभी हिस्से ऐसे ऑब्जेक्ट हैं जिनमें नेस्ट की गई प्रॉपर्टी होती हैं. इन ऑब्जेक्ट को मेटाडेटा फ़ील्ड के ग्रुप के तौर पर देखा जा सकता है. एपीआई सर्वर इन ग्रुप को वापस पा सकता है या नहीं. इसलिए, 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, अपलोड किए गए सभी वीडियो को चैनल से जुड़ी प्लेलिस्ट में जोड़ देता है. अपलोड किए गए वीडियो की सूची पाने के लिए, चैनल की जानकारी के लिए ऊपर दिखाए गए जवाब में मौजूद "uploads" प्लेलिस्ट के लिए क्वेरी करें. इसके बाद, उस प्लेलिस्ट में मौजूद वीडियो पाने के लिए playlistItems.list तरीके का इस्तेमाल करें.

Google APIs Explorer में इस सैंपल अनुरोध को चलाने से पहले, {UPLOADS_PLAYLIST_ID} को पिछले अनुरोध के प्लेलिस्ट आईडी से बदलें.

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

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

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

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

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

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

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

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

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 Data API के अन्य अनुरोधों की तरह, 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 Data API के बारे में ऐसे वीडियो खोजने के लिए कीवर्ड खोज की जाती है जिनमें कैप्शन शामिल हों.

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

विषय के आधार पर खोजना

किसी विषय पर वीडियो खोजने का बेहतर तरीका यह है कि कीवर्ड के बजाय, Freebase के विषयों का इस्तेमाल किया जाए. YouTube चैनल और वीडियो के सभी संसाधनों में एक topicDetails ऑब्जेक्ट होता है. इसमें संसाधन से जुड़े Freebase विषय के आईडी की सूची होती है. विषय के आधार पर की गई खोज, कीवर्ड के आधार पर की गई खोज से ज़्यादा स्मार्ट होती है. ऐसा इसलिए, क्योंकि 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 मेथड में Request body शामिल होता है. यह बनाए जा रहे या अपडेट किए जा रहे संसाधन का JSON रिप्रज़ेंटेशन होता है. Google APIs Explorer में, इंटरैक्टिव टूल का इस्तेमाल करके JSON रिप्रज़ेंटेशन बनाए जा सकते हैं.

सदस्यता बनाना

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

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
      }
   }