Youtube Data API:在单个请求中按 ID 检索多个视频条目

Posted

技术标签:

【中文标题】Youtube Data API:在单个请求中按 ID 检索多个视频条目【英文标题】:Youtube Data API: Retrieving multiple Video entries by IDs in a single request 【发布时间】:2011-01-05 21:17:18 【问题描述】:

我想知道是否有办法在 YouTube 上查询多个随机数 单个查询中的视频(已知视频 ID)? 我将视频 ID 存储在本地数据库中,需要显示多个 网页中的详细信息(带有拇指、评分、作者姓名等的列表)。

我正在查看 Youtube 数据 API,发现我可以单 像这样的实体数据:

Uri  videoEntryUrl = new Uri("http://gdata.youtube.com/feeds/api/videos/video_id");
Video video = request.Retrieve<Video>(videoEntryUrl);

在循环中重复这个似乎是个坏主意,因为 配额。

还有“批处理”可用 - http://code.google.com/apis/youtube/2.0/developers_guide_dotnet.html#Batch_processing。 似乎我最多可以发出 50 个随机请求,但它需要一些 执行批处理时,我没有作为参数的 feed。 一些 Uri 过载,但没有很好地记录 - google-gdata.googlecode.com/svn/docs/folder59/M_Google_GData_Client_FeedRequest_1_Batch__1_2.htm

有人对如何检索多个视频条目有任何想法吗 凭身份证?任何帮助将不胜感激。

【问题讨论】:

你找到答案了吗?我需要做类似的事情,但要将视频添加到播放列表。您的任何信息将不胜感激:) 【参考方案1】:

在 Youtube Data API 3.0 版中你可以像这样简单地做到这一点。

https://www.googleapis.com/youtube/v3/videos?key=API_KEY&part=snippet&id=video_id1,video_id2

只需添加以逗号分隔的视频 ID。它会以 JSON 格式为您获取所有视频的数据

我不知道这有什么限制,一旦找到它就会更新答案。

【讨论】:

您好,感谢您的大力帮助。显然我发现可以查询的视频限制是50。【参考方案2】:

我也遇到了完全相同的问题,我需要一个与任意视频 ID 列表相关的视频对象列表,即不符合任何提要。

批处理选项非常诱人,但对于本应非常简单的功能而言,实现似乎相当繁重。

在一天结束时,对由管道“|”分隔的 id 进行基本视频搜索达到要求的结果:

http://gdata.youtube.com/feeds/api/videos?q=h5jKcDH9s64|elzqvWXG1Y

希望对你有帮助

【讨论】:

+1 用于简单的解决方案。查询中似乎最多有 10 个。 不幸的是,当 ID 以破折号/连字符“-”开头时,此解决方案不起作用。我遇到了这个问题,谷歌向我确认了:groups.google.com/group/youtube-api-gdata/browse_thread/thread/… 为了解决以连字符开头的 ID 的问题,我发现您可以将其删除! ID 的其余部分将匹配。 (这是一个 hack,不推荐,并且可能容易出错......)【参考方案3】:

RobD 的回答效果很好。您可以在 URL 的末尾添加类似这样的内容,以仅检索您实际需要的数据,从而节省一些带宽:

&fields=entry(id,title)

例如:

http://gdata.youtube.com/feeds/api/videos?q=h5jKcDH9s64|elzqvWXG1Y&fields=entry(id,title)

【讨论】:

是否可以限制数据只获取 viewCount 和 rating?我尝试使用 entry(gd$rating),但这不起作用。【参考方案4】:

这里给非 php 人一个更清晰的解释

http://oktryitnow.com/?p=83

【讨论】:

非常简单。谢谢泡菜。 “发布这个 XML:......到这个 URL:......” Duh.【参考方案5】:

您可以向包含在单个请求中的 youtube 数据 api 发送多个请求。 YouTube 允许您在一个请求中发送最多 50 个多个请求。这种请求称为批处理请求。我专门针对这个问题开发了一段工作代码。我必须为我正在开发的网站做同样的事情。无论如何,您可以从这里查看如何操作(示例代码也可供下载):http://www.ovaistariq.net/2010/06/youtube-batch-processing-requests-made-less-costly/

【讨论】:

以上是关于Youtube Data API:在单个请求中按 ID 检索多个视频条目的主要内容,如果未能解决你的问题,请参考以下文章

在 Firebase Cloud Function 中发出 Youtube Data API 请求

Youtube Data API C# - 无需请求用户凭据即可使用

YouTube Data v3 API - 如何从频道请求所有视频?

在单个 R data.table 中按组有效地定位

Youtube Data API - 如何避免 Google OAuth 重定向 URL 授权

如何从 Google YouTube Data API OAuth 2 iOS 获取刷新令牌