2011-10-19 47 views
2

YouTube拥有this cool thing,可从一些起始关键字创建“智能播放列表”。我想以编程方式访问播放列表。我找到了YouTube data API,但它没有讨论“迪斯科”功能。下面检索YouTube Disco播放列表

答案之一建议使用

http://www.youtube.com/disco?action_search=1&query=XXXXXXXXX

,将返回一些JSON与第一视频播放,并且list财产。不幸的是,list是一个32个字符的十六进制字符串,而普通的播放列表ID是16个字符的十六进制字符串。这意味着检索完整播放列表的标准数据API不起作用。

有什么建议吗?

回答

2

首先,我必须说我从来没有使用过YouTube数据API,所以我不知道下面的信息会有多大用处。

让我用一个例子:

我想创造非凡的南瓜。我输入了艺术家的名字并点击了“迪斯科!”按钮。使用Fiddler2我想通了所请求的URL:

www.youtube.com/disco?action_search=1&query=smashing%20pumpkins 

通知书的,空间与%20取代。作为回应,我得到了简单的JSON响应:

{"url": "\/watch?v=bhMz7x1ZaGM\u0026feature=disco\u0026playnext=1\u0026list=MLGxdCwVVULXe5-F4X_zm6wnblRsnXoPJS"} 

这是新产生的碎瓜播放列表的第一首歌曲,其中地址不list=MLGxdCwVVULXe5-F4X_zm6wnblRsnXoPJS的链接。你所要做的只是用&代替\u0026,你会得到一个有效的链接。

我认为你想要做的其他魔法可以通过官方的youtube数据API获得。 我希望我的研究能帮助你。

编辑

嗯,它看起来像由YouTube所产生这个播放列表/迪斯科是不是同一类型的播放列表,用户可以生成并通过API可用。列表ID比usuall长,当您点击“关于播放列表的更多信息”时,您将被重定向到艺术家个人资料。基于这两个事实,我想通过API检索生成的列表是不可能的。抱歉。

+0

播放列表的格式似乎不与标准的16字符HEX ID相同。 – Randomblue

+0

那么,正如我所说,我不熟悉Youtube API。我只是为您提供了收集迪斯科功能生成的播放列表的方式。你必须自己处理剩下的事情。如果这种格式的东西阻碍你,也许根本不可能? – Moyshe

+0

@Randomblue:正如我在编辑部分中提到的,我认为不可能获得您请求的功能。我甚至修改了源代码,但没有典型的列表ID的标志。 – Moyshe

0

@Randomblue,你究竟想要检索这个播放列表? 可以使用32进制字符在这个网址获得页面详细介绍了播放列表

https://www.youtube.com/playlist?list={HEX} 

或在嵌入的播放列表iframe中,类似这样的:

<iframe width="853" height="480" src="//www.youtube.com/embed/videoseries?list={HEX}" frameborder="0" allowfullscreen></iframe>