YouTube api v3获得视频类别

时间:2015-04-20 16:20:15

标签: php json youtube-api youtube-data-api

我正在努力将v2实现迁移到v3,但是我很难理解API v3是如何分段的。我正在尝试从API获取视频详细信息,但是,例如,我无法找到视频类别名称的存储位置。

在v2实现中,我有:

$title = $info->entry->title->{'$t'};
$content = nl2br($info->entry->{'media$group'}->{'media$description'}->{'$t'});

以及

$info->entry->category

我如何将其转换为v3实现?

目前api(v2)正在查询: http://gdata.youtube.com/feeds/api/videos/

什么是v3等价物? 这是一个PHP实现btw。

提前致谢

2 个答案:

答案 0 :(得分:3)

在V3中,您不会查询供稿,而是查询RESTful端点。因此,在您的情况下,如果您已经知道所需视频的视频ID,则可以点击视频 - >列表端点,如下所示:

https://www.googleapis.com/youtube/v3/videos?part=snippet&id={comma separated list of video IDs}&key={YOUR_API_KEY}

生成的json数据包将包含一个'项目'列表;每个项目'有一个' categoryId'。

请注意,要获取有关类别ID本身的详细信息,您可以使用videoCategories->列表端点,如下所示:

https://www.googleapis.com/youtube/v3/videoCategories?part=snippet&id={comma separated list of ids}&key={YOUR_API_KEY}

这些类别不会经常更改,因此您可能会缓存大量此类数据,但有时候您的应用可以跟上类别详细信息,因为该API也会返回类似自动的内容 - 生成的类别的频道ID,本地化信息(该类别的标题在其他语言和其他地区的内容)等。

如果您已经拥有视频ID,则无法使用videos->列表端点,而必须使用search->列表端点。这使您可以使用大量参数来过滤搜索...所有内容都在这里描述:

https://developers.google.com/youtube/v3/docs/search/list

然而,问题在于搜索端点的结果没有为您提供categoryID,因此目前您必须汇总搜索结果中的所有视频ID并拨打视频电话 - >列出具有这些ID的端点以获取类别。

答案 1 :(得分:0)

V3需要API密钥,即使对于GET请求也是如此。看看V3 Quota 除此之外,V3 API在以下位置查询:     https://www.googleapis.com/youtube/v3/
获取视频的类别将类似于:
https://www.googleapis.com/youtube/v3/videos?id=R90v8-Vea-Q&part=categoryID&key=[api-key]

您需要使用API​​密钥更新它。否则它只会返回一个错误。