YouTube Data API (v3) از اعلانهای فشاری از طریق PubSubHubbub ، یک پروتکل انتشار/اشتراک سرور به سرور برای منابع قابل دسترسی وب پشتیبانی میکند. اعلان ها از طریق WebHooks HTTP به مشترکان منتقل می شوند ، که بسیار کارآمدتر از راه حل های مبتنی بر نظرسنجی است. با PubSubHubbub، سرور شما بدون نیاز به تعیین فاصله نظرسنجی بهینه یا واکشی مکرر دادههایی که تغییر نکردهاند، رویدادها را تقریباً در زمان واقعی مییابد.
سرور پاسخ به تماس PubSubhubBub شما هنگام انجام هر یک از فعالیت های زیر ، اعلان های فید اتم را دریافت می کند:
- یک ویدیو آپلود می کند
- عنوان یک ویدیو را به روز می کند
- توضیحات یک ویدیو را به روز می کند
مراحل زیر نحوه اشتراک در اعلان ها را توضیح می دهد:
یک سرور پاسخ به تماس تنظیم کنید که بتواند اعلان های فید اتم ورودی را کنترل کند.
برای دریافت اعلان های فشار از Hub Google استفاده کنید:
حالت
subscribe
را تنظیم کنید. (یا حالت را برای لغوunsubscribe
برای لغو اشتراک تنظیم کنید.)URL پاسخ به تماس را روی URL که در مرحله 1 تنظیم کرده اید تنظیم کنید.
URL موضوع را روی
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>