푸시 알림 구독

YouTube Data API (v3)는 웹 액세스 가능 리소스용 서버 간 게시/구독 프로토콜인 PubSubHubbub를 통한 푸시 알림을 지원합니다. 알림은 폴링 기반 솔루션보다 훨씬 효율적인 HTTP 웹훅을 통해 구독자에게 푸시됩니다. PubSubHubbub을 사용하면 최적의 폴링 간격을 결정하거나 변경되지 않은 데이터를 반복적으로 가져오지 않아도 서버에서 거의 실시간으로 이벤트를 알 수 있습니다.

채널에서 다음 활동을 수행하면 PubSubHubbub 콜백 서버가 Atom 피드 알림을 수신합니다.

  • 동영상을 업로드합니다.
  • 동영상 제목을 업데이트합니다.
  • 동영상 설명을 업데이트합니다.

다음 단계에서는 알림을 구독하는 방법을 설명합니다.

  1. 수신되는 Atom 피드 알림을 처리할 수 있는 콜백 서버를 설정합니다.

  2. Google 허브를 사용하여 푸시 알림을 수신하도록 설정합니다.

    • 모드subscribe로 설정합니다. (또는 모드를 unsubscribe로 설정하여 구독을 취소합니다.)

    • 콜백 URL을 1단계에서 설정한 URL로 설정합니다.

    • 주제 URLhttps://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID로 설정합니다. 여기서 CHANNEL_ID은 푸시 알림을 가져오려는 YouTube 채널 ID입니다.

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