如何在 YouTube API v3 上检索“频道中的频道”

Posted

技术标签:

【中文标题】如何在 YouTube API v3 上检索“频道中的频道”【英文标题】:How can I retrieve "channels within a channel" on YouTube API v3 【发布时间】:2015-01-02 20:44:49 【问题描述】:

YouTube 频道可以包含多个“相关”频道的列表。例如,Music 频道有相关的 Genre 频道:Hip Hop、Pop、Rock、Country 等。

音乐频道:http://www.youtube.com/channel/UC-9-kyTW8ZkZNDHQJ6FgpwQ

音乐频道相关频道:http://www.youtube.com/channel/UC-9-kyTW8ZkZNDHQJ6FgpwQ/channels

我可以使用youtube.search.list API 检索频道中的视频列表,我可以使用youtube.channels.list API 获取特定频道的数据,但我似乎找不到任何 API 可以为我提供“其他频道相关的频道”,如上例所示。

我很确定我查看了 google 提供的所有 API https://developers.google.com/apis-explorer/#p/youtube/v3/

无论如何我可以获取我需要的数据吗?

【问题讨论】:

【参考方案1】:

在 API 中,您要查找的是 ChannelSection,类型为 multipleChannels

使用您的音乐频道示例,我能够

1)Pull a list of all channelSections

2) 找到类型为multipleChannels、标题为Music Genres 的channelSection 的id(一直在链接示例的底部)。

3) 使用第 2 步中的 ID,您现在可以Query that specific channelSection

在我的示例中,我在第 1 步中使用了snippet,它为您提供了typetitle。 You could also use contentDetails 用于将减少步骤的部分字段,但您必须搜索返回的列表,其 contentDetails 包含 channels 数组。

编辑:

要获取子频道的详细信息,您可以将频道 ID 作为逗号分隔列表连接在一起,并将它们用作 id 查询中的 id 参数。 Here is a query returning details for the top 3 channels returned from step 3.

【讨论】:

太棒了,非常感谢。所以看起来我必须使用返回数组中的频道 ID 进行额外查询才能获取标题字符串? 是的,没错。您可以使用逗号分隔的这些子频道的 ID 列表调用 channels.list 查询。我在编辑中放置了一个包含前 3 个子频道的示例调用。 感谢您的回答。这似乎不适用于 CNN 或 ABCNews 等第 3 方频道。例如,CNN 在其 YouTube 页面上有一个“相关频道”列表,但您的答案的第 1 步并未返回 CNN 的多个频道列表。你知道如何获取CNN的相关频道吗? 由于 CNN 是用户而不是内置频道,因此有点不同。您必须从channels.list 获取用户名 CNN 的频道 ID。从那里,出现在 CNN 频道选项卡中的内容实际上是您可以通过 subscriptions.list 提取的订阅。

以上是关于如何在 YouTube API v3 上检索“频道中的频道”的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中使用 Youtube API V3 从频道获取视频

Youtube api v3 无法从频道中检索所有视频

YouTube API v3 未检索频道的视频

youtube api v3 从比视频更新的频道中获取所有视频

YouTube API v3 检测是不是订阅了频道

Youtube API V3 - 如何使用频道图标字段搜索视频?