如何使用新的YouTube Data API(V3)获取特定频道的上传视频列表?

cod*_*emy 28 youtube-api

我正在尝试将所有上传视频的视频ID列表添加到频道.我还想使用新版本的YouTube Data API(V3).我该怎么做呢?

cod*_*emy 70

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

此外,我们提供PubSubHubBub,允许您在每次将新视频添加到频道时收到警报,或者您可以使用SUP(V2)在拨打电话之前查看哪些资源已更改.

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

  1. 获取所需频道的频道ID(您可能只需要执行一次,然后就可以保存)

    • 使用search.list
    • 类型设置为通道
    • q设置为所需频道的名称
    • 抓住频道ID(类似这样:"channelId":"UC0X2VuXXXXXXXXXXXXXXXX")
  2. 使用步骤1中的频道ID获取频道上传的播放列表ID(您可能只需要执行一次,然后您可以保存它)

    • 使用channels.list
    • 从步骤1开始将ID设置为UC0X2VuXXXXXXXXXXXXXXXX
    • contentDetails获取上传密钥(类似这样:"uploads":"UU0XXXXXXXXXXXXXXXXXXXX")
  3. 使用步骤2中的播放列表ID,通过播放列表中的播放列表项目获取视频

    • 使用playlistItems.list
    • 从第2步将播放列表 ID 设置为UU0XXXXXXXXXXXXXXXXXXXX
    • 浏览每个PlaylistItem并提取视频ID

  • 我发现这个API非常繁琐,你必须至少进行三次查询才能获得有意义的东西. (10认同)

小智 10

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

  • 使用channels.list
  • 设为forUsername = [CHANNELNAME]
  • set part = contentDetails

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

  • 使用playlistItems.list
  • 从步骤1设置playlistId = [PLAYLISTID]
  • 浏览每个PlaylistItem并拉出视频ID