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

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

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

खास जानकारी

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

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

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

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

ध्यान दें कि लौटाए गए हर आइटम के लिए "id" वैल्यू, उसकी listItem ID होती है. प्लेलिस्ट में मौजूद आइटम का वीडियो आईडी, 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 तर्क शामिल करना होगा जो आपके ऐप्लिकेशन के लिए अनन्य API कुंजी को तय करता है.

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

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

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 के संसाधनों को बनाने या अपडेट करने के लिए करते हैं. जैसे, वीडियो, प्लेलिस्ट या चैनल. ये अनुरोधों के उदाहरण हैं.

पीओएसटी तरीकों में Request body शामिल होता है. यह संसाधन बनाने या अपडेट किए जाने का JSON फ़ॉर्मैट होता है. किसी इंटरैक्टिव टूल का इस्तेमाल करके, Google API 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
      }
   }