الاشتراك في دفع الإشعارات

يدعم YouTube Data API (الإصدار 3) الإشعارات الفورية عبر PubSubHubbub، وهو بروتوكول للنشر/الاشتراك من خادم إلى خادم للموارد التي يمكن الوصول إليها على الويب. يتم إرسال الإشعارات إلى المشتركين عبر الردود التلقائية على الويب التي تستخدم بروتوكول HTTP، وهي أكثر فعالية من الحلول المستندة إلى استطلاعات الرأي. باستخدام PubSubHubbub، يتعرّف خادمك على الأحداث في الوقت الفعلي تقريبًا، بدون الحاجة إلى تحديد الفاصل الزمني الأمثل للاقتراع أو جلب البيانات التي لم تتغير بشكل متكرر.

يتلقى خادم معاودة الاتصال في PubSubHubbub إشعارات خلاصة Atom عندما تنفّذ القناة أيًا من الأنشطة التالية:

  • يحمّل فيديو
  • تعدِّل عنوان الفيديو
  • تعدّل وصف الفيديو.

توضّح الخطوات التالية كيفية الاشتراك في الإشعارات:

  1. يمكنك إعداد خادم معاودة اتصال يمكنه التعامل مع إشعارات خلاصة Atom الواردة.

  2. يمكنك استخدام مركز Google للاشتراك لتلقّي إشعارات فورية:

    • اضبط الوضع على subscribe. (أو اضبط الوضع على unsubscribe لإلغاء اشتراك).

    • اضبط عنوان URL لمعاودة الاتصال على عنوان URL الذي أعددته في الخطوة 1.

    • اضبط عنوان URL للموضوع على https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID، حيث يشير CHANNEL_ID إلى معرّف قناة YouTube الذي تريد استرداد الإشعارات الفورية له.

  3. معالجة الإشعارات المُرسَلة إلى خادم معاودة الاتصال يتم توضيح تنسيق الإشعارات أدناه. يُرجى العِلم أنّه يمكنك استخدام قيمة العنصر <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>