如何获取上传到多个 YouTube 频道的最新视频列表?
Posted
技术标签:
【中文标题】如何获取上传到多个 YouTube 频道的最新视频列表?【英文标题】:How to get a list of the most recent videos uploaded to multiple YouTube channels? 【发布时间】:2013-10-08 01:44:15 【问题描述】:我正在尝试按上传顺序获取上传到多个 YouTube 频道的最新视频的列表。有点像 YouTube 上的订阅框如何显示多人(您订阅的)最近上传的所有视频。
GET https://www.googleapis.com/youtube/v3/search?
part=snippet&channelId=UC4XmzE3vYbp7h4B8dxcoN_A&maxResults=20&order=date
&key=YOUR_API_KEY
该搜索将返回从单个频道上传的最新视频列表。但是,我试图在同一个列表中显示一组人。
GET https://www.googleapis.com/youtube/v3/search?
part=snippet
&channelId=UCXA7dMwWUS8n00Xq-Qvj38A,UC4XmzE3vYbp7h4B8dxcoN_A
&maxResults=20&order=date&key=YOUR_API_KEY
我尝试在第一个视频中添加一个额外的 YouTube channelId
(用逗号分隔),这似乎会破坏搜索并显示“随机”视频(channelId
中的任何一个都没有列出)。
如果有人知道如何通过一个 API 查询来完成此任务,我将非常高兴。
更清楚地说,正如我在下面的评论中提到的,这就是我想要做的:
我不是想获得特定用户的“订阅”,而是 我正在尝试结合最近的多个频道 上传(视频)到一个列表中。这样我可以显示我的“团队” 在我的网站上按时间顺序排列的视频 已上传。
【问题讨论】:
您的问题解决了吗?我正在尝试做同样的事情,而不是为每个用户进行数百次单独的 API 调用。也许你可以用你是怎么做的来回答你自己的问题? 【参考方案1】:根据the API reference,listing目前只支持一个通道的请求,例如:
https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=CHANNEL_ID&order=date&key=YOUR_API_KEY
目前没有多频道搜索功能(请参阅上面的参考资料),但由于返回格式已明确定义,您可以简单地进行多次调用,为每个所需频道调用一次,然后合并结果,按日期排序。
【讨论】:
【参考方案2】:您可以使用 activities->list 调用此功能并设置 home=true。
GET https://www.googleapis.com/youtube/v3/activities?part=snippet&home=true&key=YOUR_API_KEY
那么您可以只过滤type=上传响应。
More info here.
但如果您正在寻找特定频道,则没有多频道搜索,您可以从每个频道获取上传播放列表并自行合并。
对于每个,使用 channelId 执行频道->列表请求以获取 uploadsPlaylist,然后使用该 playlistId 执行 playlistItems->列表以获取项目,一旦该视频的 publishedAt 结束,您可以停止将项目添加到您自己的列表中你的边界。
【讨论】:
据我所知,这不允许您从多个渠道获取活动? 就像您的首页一样,您将获得所有相关频道的活动。 我不是想获得特定用户的“订阅”,而是尝试将多个频道最近上传的(视频)合并到一个列表中。这样我就可以在我的网站上按上传的顺序按时间顺序显示我的“团队”视频。 没有多频道搜索,您可以从每个频道获取上传的播放列表并自行合并。【参考方案3】:你必须为每个频道发送一个请求,没有多频道搜索 API。
不确定 Google 是否打算实施,但希望他们会这样做。
【讨论】:
能否提供出处?以上是关于如何获取上传到多个 YouTube 频道的最新视频列表?的主要内容,如果未能解决你的问题,请参考以下文章
获取 youtube 频道上所有上传视频的带有 id 的 XML
如何使用新的 YouTube Data API (V3) 获取某个频道的上传视频列表?
如何使用新的 YouTube Data API (V3) 获取某个频道的上传视频列表?
YouTube 频道中的“已发布视频”和“上传”有啥区别?以及如何通过 YouTube Data v3 API 获取它们?