【问题标题】:Retrieving a YouTube Disco playlist检索 YouTube Disco 播放列表
【发布时间】:2011-10-19 10:05:14
【问题描述】:

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

以下答案之一建议使用

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

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

有什么建议吗?

【问题讨论】:

    标签: youtube api


    【解决方案1】:

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

    让我举个例子:

    我想制作 Smashing Pumpkins。我输入了艺术家的名字并点击了“迪斯科!”按钮。使用Fiddler2 我发现请求的网址是:

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

    注意,空格被替换为%20。作为响应,我得到了简单的 JSON 响应:

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

    这是新生成的 Smashing Pumpkins 播放列表的第一首歌曲的链接,地址为 list=MLGxdCwVVULXe5-F4X_zm6wnblRsnXoPJS。您所要做的就是将\u0026 替换为&,然后您将获得一个有效链接。

    我假设您想要做的其余魔法可以通过官方 youtube 数据 API 获得。 希望我的研究对您有所帮助。

    编辑

    嗯,这个由 youtube/disco 生成的播放列表看起来与用户可以生成的播放列表类型不同,并且可以通过 API 获得。列表 ID 比平时长,当您单击“有关播放列表的更多信息”时,您将被重定向到艺术家个人资料。基于这两个事实,我想不可能通过 API 检索生成的列表。对不起。

    【讨论】:

    • 播放列表的格式似乎与标准的 16 字符 HEX ID 不同。
    • 好吧,正如我所说,我也不熟悉 Youtube API。我刚刚为您提供了收集由迪斯科功能生成的播放列表的方法。你必须自己处理其余的事情。如果这种格式的东西对你来说是一个障碍,也许根本不可能?
    • @Randomblue:正如我在编辑部分提到的,我认为不可能获得您要求的功能。我什至修改了源代码,但没有典型列表ID的迹象。
    【解决方案2】:

    @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>
    

    【讨论】:

      猜你喜欢
      • 2016-06-15
      • 1970-01-01
      • 2011-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-25
      • 2012-01-17
      相关资源
      最近更新 更多