【问题标题】:How can I query YouTube API to get videos from auto-generated 'Topic' channels?如何查询 YouTube API 以从自动生成的“主题”频道获取视频?
【发布时间】:2017-11-09 12:04:32
【问题描述】:

如何使用 YouTube API 输入搜索参数,以便仅从主题频道获取视频 ID?例如,如果我去 youtube.com 并手动搜索“Hello Adele - Topic”,我会正确地从“Adele - Topic”频道中找到歌曲“Hello”作为我的第一个搜索结果,https://www.youtube.com/watch?v=_WS9w10ygpU。 但是,如果我使用 YouTube 数据 API 执行相同的查询,参数:

part='snippet'
q='Hello Adele - Topic'

我不会取回正确视频的 ID。有没有办法以编程方式获得这个?

【问题讨论】:

    标签: youtube youtube-api youtube-data-api


    【解决方案1】:

    正如thread 中所述,自动生成的频道没有视频。他们只有来自其他频道的视频的播放列表。所以你必须寻找播放列表。您可以在link 中查看示例请求。

    这是自动生成的基于主题的 ID 的 URL 示例,它获取其播放列表 ID:

    GET https://www.googleapis.com/youtube/v3/playlists?part=snippet&channelId=HC9m3exs6zk1U&fields=items%2Fid&key={YOUR_API_KEY}
    //Outputs sample playlist Id: LP9m3exs6zk1U
    

    下面是使用该播放列表 ID 从自动生成的基于主题的频道 ID 获取视频的 URL 示例:

    GET https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=5&playlistId=LP9m3exs6zk1U&key={YOUR_API_KEY} 
    //Outputs video data you want.
    

    希望这会有所帮助。

    【讨论】:

    • 您好,感谢您的回复。我不完全确定他们没有视频意味着什么。如果您查看我作为示例发布的链接 (youtube.com/watch?v=_WS9w10ygpU),这显然是一个仅在主题频道上可用的视频,并且视频 ID:_WS9w10ygpU。有没有办法以编程方式获取此视频 ID?
    • @SkylarKennedy:这可能是 YouTube 透明地链接视频并导致它们看起来好像是该频道的一部分。对于 Google 来说,将它们排除在标准的 search API 请求之外是令人沮丧和愚蠢的,但这就是它的工作原理(当然,它还会为您需要发出的额外请求消耗额外的 API 积分)
    猜你喜欢
    • 2014-08-21
    • 2018-04-11
    • 2014-05-01
    • 1970-01-01
    • 2022-08-15
    • 2014-06-06
    • 2015-04-17
    • 1970-01-01
    • 2015-11-02
    相关资源
    最近更新 更多