如何在 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
,它为您提供了type
和title
。 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 从频道获取视频