代码之家  ›  专栏  ›  技术社区  ›  Thomas Beyer

Youtube API v3从给定频道获取每个视频ID

  •  2
  • Thomas Beyer  · 技术社区  · 6 年前

    目前,我正在使用它来获取给定频道的VideoID列表:

    收到 https://www.googleapis.com/youtube/v3/search?order=date&part=snippet&channelId=CHANNEL_ID&type=video&maxResults=50&key=API_KEY

    这是可行的,但是我想从中获取视频的频道有50多个在线视频。我已经看过这个问题了 YouTube API to fetch all videos on a channel 但每一个在线解决方案最多可获取50个视频。

    我怎样才能得到每一段视频,而不仅仅是50段?

    2 回复  |  直到 6 年前
        1
  •  3
  •   Thomas Beyer    6 年前

    所以我得到了一个解决方案:

    (1) 首先,我使用 https://www.googleapis.com/youtube/v3/channels?id=CHANNEL_ID&key=API_KEY&part=contentDetails 获取上载播放列表的id。

    (2) 通过使用 https://www.googleapis.com/youtube/v3/playlistItems?playlistId=UPLOAD_ID&key=API_KEY&part=snippet&maxResults=50 我得到了前50个结果和一个pageToken。

    (3) 使用令牌,我可以从以下页面收集ID: https://www.googleapis.com/youtube/v3/playlistItems?playlistId=UPLOAD_ID&key=API_KEY&part=snippet&pageToken=PAGE_TOKEN&maxResults=50

    (4) 通过使用递归方法,我可以使用从(3)中获得的下一个标记来扫描下一页。

        2
  •  0
  •   Dan Thomas    6 年前

    这是一段来自YouTube开发者频道的视频,它确实帮助了我: https://youtu.be/RjUlmco7v2M 。它针对的是从v2迁移到v3的人(我不是),但我一直在观察并学到了很多东西。