【问题标题】:How do I get a list of uploaded videos for a certain channel with the new YouTube Data API (V3)?如何使用新的 YouTube Data API (V3) 获取某个频道的上传视频列表?
【发布时间】:2023-03-13 11:52:01
【问题描述】:

我正在尝试获取所有上传到频道的视频的视频 ID 列表。我还想使用新版本的 YouTube 数据 API (V3)。我该怎么做?

【问题讨论】:

    标签: youtube-api


    【解决方案1】:

    与此同时,还有一个更简单的方法:

    • 使用 channels.list
    • 设置用户名 = [CHANNELNAME]
    • 设置部分 = contentDetails

    grab $data->items[0]->contentDetails->relatedPlaylists->uploads --> [PLAYLISTID]

    • 使用 playlistItems.list
    • 从第 1 步设置 playlistId = [PLAYLISTID]
    • 遍历每个 PlaylistItem 并提取视频 ID

    【讨论】:

    • 与上述相同的评论...您无法获取 MP4 URL。您应该使用 iframe embed 或 Android Player API:developers.google.com/youtube/iframe_api_reference
    • 这是唯一的解决方案!
    • 获取结果:items": [],但是网上确实有很多视频
    • 当频道名称有多个单词(以空格分隔)时,此方法不起作用。
    【解决方案2】:

    您必须获取上传播放列表 ID 才能上传每个视频。为此,您需要获取频道 ID。从频道 ID 获得播放列表 ID 后,这非常简单。我已经写出了下面所有三个的步骤。

    此外,我们还提供PubSubHubBub,让您可以在每次向频道添加新视频时收到提醒,或者您可以在拨打电话之前使用SUP (V2) 查看哪些资源发生了变化。

    获取 V3 中频道的所有上传视频的视频 ID 的说明

    1. 获取你想要的频道的频道ID(你可能只需要这样做一次,然后你可以保存它)

      • 使用search.list
      • type 设置为 channel
      • q 设置为您想要的频道名称
      • 获取频道 ID(类似于:“channelId”:“UC0X2VuXXXXXXXXXXXXXXXX”)
    2. 使用第 1 步中的频道 ID 获取频道上传的播放列表 ID(您可能只需要执行一次,然后可以保存)

      • 使用channels.list
      • 在步骤 1 中将 id 设置为 UC0X2VuXXXXXXXXXXXXXXXX
      • contentDetails 中获取 uploads 键(类似于:“uploads”:“UU0XXXXXXXXXXXXXXXXXXXXX”)
    3. 使用步骤 2 中的播放列表 ID 通过播放列表中的播放列表项获取视频

      • 使用playlistItems.list
      • 在步骤 2 中将 playlistId 设置为 UU0XXXXXXXXXXXXXXXXXXXX
      • 遍历每个 PlaylistItem 并提取视频 ID

    【讨论】:

    • 我发现这个 API 非常健谈,您必须至少进行三个查询才能获得有意义的内容。
    • 您无法获取 MP4 网址。您应该使用 iframe embed 或 Android Player API:developers.google.com/youtube/iframe_api_reference
    • 有人可以分享这方面的代码吗,我对此很陌生,我不知道如何开始。
    • 嗯,这是我可以使用的答案!非常感谢你,糟糕的是我不能给超过一个赞!爱如此
    • 它还会获取privacyStatus为“私人或隐藏”的视频吗?
    猜你喜欢
    • 2019-05-22
    • 2014-02-23
    • 2016-02-19
    • 2019-11-09
    • 2019-07-27
    • 2015-03-11
    • 2013-12-16
    • 2015-07-15
    相关资源
    最近更新 更多