Push Bildirimlerine Abone Ol

YouTube Data API (v3), web'den erişilebilen kaynaklar için sunucudan sunucuya yayınlama/abone olma protokolü olan PubSubHubbub aracılığıyla push bildirimlerini destekler. Bildirimler, anket tabanlı çözümlerden çok daha verimli olan HTTP webhook'ları aracılığıyla abonelere gönderilir. PubSubHubbub ile sunucunuz en uygun yoklama aralığını belirlemek veya değişmemiş verileri tekrar tekrar getirmek zorunda kalmadan etkinlikleri neredeyse gerçek zamanlı olarak öğrenir.

PubSubHubbub geri çağırma sunucunuz, bir kanal aşağıdaki etkinliklerden herhangi birini gerçekleştirdiğinde Atom feed bildirimleri alır:

  • Kullanıcı bir video yüklediğinde
  • bir videonun başlığını günceller
  • bir videonun açıklamasını günceller

Aşağıdaki adımlarda, bildirimlere nasıl abone olunacağı açıklanmaktadır:

  1. Gelen Atom feed bildirimlerini işleyebilen bir geri çağırma sunucusu kurun.

  2. Push bildirimleri almak üzere abone olmak için Google merkezini kullanın:

    • Modu subscribe olarak ayarlayın. (Aboneliği iptal etmek için modu unsubscribe olarak da ayarlayabilirsiniz.)

    • Geri çağırma URL'sini 1. adımda ayarladığınız URL'ye ayarlayın.

    • Konu URL'sini https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID olarak ayarlayın. Burada CHANNEL_ID, push bildirimlerini almak istediğiniz YouTube kanal kimliğidir.

  3. Geri çağırma sunucunuza gönderilen bildirimleri işleyin. Bildirim biçimi aşağıda gösterilmiştir. Yeni eklenen veya güncellenen videoyu tanımlamak için <yt:videoId> öğesinin değerini kullanabilirsiniz. Bu videonun sahibi olan kanalı tanımlamak için <yt:channelId> öğesinin değerini de kullanabilirsiniz.

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