Push Bildirimlerine Abone Ol

YouTube Data API (v3), web'de erişilebilen kaynaklar için sunucudan sunucuya yayınlama/abone olma protokolü olan PubSubHubbub aracılığıyla push bildirimlerini destekler. Bildirimler, HTTP webhook'ları aracılığıyla abonelere gönderilir. Bu yöntem, yoklamaya dayalı çözümlerden çok daha verimlidir. PubSubHubbub ile sunucunuz, optimum yoklama aralığını belirlemesi veya değişmeyen verileri tekrar tekrar getirmesi gerekmeden etkinlikleri neredeyse gerçek zamanlı olarak öğrenir.

Bir kanal aşağıdaki etkinliklerden herhangi birini yaptığında PubSubHubbub geri çağırma sunucunuz Atom feed bildirimleri alır:

  • video yükleme
  • Video başlığını günceller
  • Videonun açıklamasını günceller.

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

  1. Gelen Atom feed bildirimlerini işleyebilen bir geri arama sunucusu ayarlayın.

  2. Push bildirimleri almak için Google hub'ını 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 olarak belirleyin.

    • Konu URL'sini https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID olarak ayarlayın. Burada CHANNEL_ID, anlık bildirimleri 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 belirlemek için <yt:videoId> öğesinin değerini kullanabileceğinizi unutmayın. Ayrıca, söz konusu videonun sahibi olan kanalı belirlemek 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/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>