YouTube Data API (v3), PubSubHubbub के ज़रिए पुश नोटिफ़िकेशन की सुविधा देता है. यह वेब से ऐक्सेस किए जा सकने वाले संसाधनों के लिए, सर्वर-टू-सर्वर पब्लिश/सदस्यता लेने वाला प्रोटोकॉल है. सदस्यों को सूचनाएं भेजने के लिए, एचटीटीपी वेबहुक का इस्तेमाल किया जाता है. यह वेबहुक, पोलिंग की सुविधा देने वाले वेबहुक के मुकाबले ज़्यादा कारगर होता है. PubSubHubbub, आपका सर्वर करीब-करीब रीयल-टाइम में इवेंट के बारे में पता लगाता है. इसके लिए, उसे सबसे सही पोलिंग इंटरवल तय करने या बार-बार ऐसा डेटा फ़ेच करने की ज़रूरत नहीं होती जिसमें कोई बदलाव न हुआ हो.
जब कोई चैनल इनमें से कोई भी गतिविधि करता है, तो आपके PubSubHubbub कॉलबैक सर्वर को ऐटम फ़ीड की सूचनाएं मिलती हैं:
- वीडियो अपलोड करता है
- वीडियो के टाइटल को अपडेट करता है
- वीडियो के ब्यौरे को अपडेट करता है
सूचनाओं की सदस्यता लेने का तरीका यहां बताया गया है:
-
ऐसा कॉलबैक सर्वर सेट अप करें जो ऐटम फ़ीड की आने वाली सूचनाओं को मैनेज कर सके.
-
पुश नोटिफ़िकेशन पाने के लिए, Google हब का इस्तेमाल करके सदस्यता लें:
-
मोड को
subscribeपर सेट करें. (या सदस्यता रद्द करने के लिए, मोड कोunsubscribeपर सेट करें.) -
कॉलबैक यूआरएल को उस यूआरएल पर सेट करें जिसे आपने पहले कदम में सेट अप किया है.
-
विषय के यूआरएल को
https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_IDपर सेट करें. यहांCHANNEL_IDवह YouTube चैनल आईडी है जिसके लिए आपको पुश नोटिफ़िकेशन चाहिए.
-
-
आपके कॉलबैक सर्वर पर भेजी गई प्रोसेस की सूचनाएं. सूचना का फ़ॉर्मैट यहां दिखाया गया है. ध्यान दें कि जोड़े गए या अपडेट किए गए नए वीडियो की पहचान करने के लिए,
<yt:videoId>एलिमेंट की वैल्यू का इस्तेमाल किया जा सकता है.<yt:channelId>एलिमेंट की वैल्यू का इस्तेमाल, उस चैनल की पहचान करने के लिए भी किया जा सकता है जिसके पास वीडियो का मालिकाना हक है.<feed xmlns:yt="http://www.youtube.com/xml/schemas/2015" xmlns="http://www.w3.org/2005/Atom"> <link rel="hub" href="https://pubsubhubbub.appspot.com"/> <link rel="self" href="https://www.youtube.com/xml/feeds/videos.xml?channel_id=CHANNEL_ID"/> <title>YouTube video feed</title> <updated>2015-04-01T19:05:24.552394234+00:00</updated> <entry> <id>yt:video:VIDEO_ID</id> <yt:videoId>VIDEO_ID</yt:videoId> <yt:channelId>CHANNEL_ID</yt:channelId> <title>Video title</title> <link rel="alternate" href="http://www.youtube.com/watch?v=VIDEO_ID"/> <author> <name>Channel title</name> <uri>http://www.youtube.com/channel/CHANNEL_ID</uri> </author> <published>2015-03-06T21:40:57+00:00</published> <updated>2015-03-09T19:05:24.552394234+00:00</updated> </entry> </feed>