当我们查看YouTube页面并单击音乐时,我们可以在不同的流派上看到它们,如"说唱"、"摇滚"、"乡村"等。
如何使用YouTube Apis检索这些数据(视频类型列表)。?
实现这一点的一种方法是使用主题API与API的V3集成。看看videos.list()API调用。插入这些值:
- 部分:主题详细信息
- id:fWNaR rxAic
- 字段:项目/topicDetails/topicId
该视频的ID对应于Carly Rae Jepsen的"Call Me Maybe"。当您查看JSON响应时,您将看到主题ID的列表:
["/m/015f7","/m/0h55y27","/m/0gkxzs6","/m/064t9"]
这些是Freebase机器ID。然后,您将进行一个Freebase API调用来检索有关该特定主题的信息。例如,/m/064t9对应于"流行音乐"。
这种方法不适用于YouTube上100%的视频;Metallica的"Whiskey in a Jar"只返回歌曲和乐队的主题,然而,Britney Spear的"I Want to Go"正确地返回了"Pop Music"的机器ID。
原因是Topic通常是机器生成的,而不是人工策划的(尽管我们会进行质量检查)。我们在谷歌I/O上做了一个关于这是如何工作的讨论。好消息是,一旦你有了机器ID,就很容易通过主题ID找到其他视频。我们的示例演示了如何做到这一点。
在freebase中,您可以请求音乐流派mids。例如:http://www.freebase.com/search?query=rock你得到了/m/06by7=岩石。有了这个id,你可以在youtube上查询并获得有关这一类型的视频;
试试看https://developers.google.com/youtube/v3/docs/search/list#try-在这种条件下:
part: snippet
topicId: /m/06by7
对于任何对此有疑问的人来说,现在(2017)freebase已被弃用,因此您应该使用此处当前提供的列表:https://gist.github.com/stpe/2951130dfc8f1d0d1a2ad736bef3b703
Ikai Lan仍然正确地认为,该部分是topicDetails,以从API获得这些信息。