QQ音乐的API

news/2024/11/15 7:02:12/
原文地址:QQ音乐的API 作者:子木潇雨

我一直是QQ音乐的用户,最近想做一个应用,想用QQ音乐的API,搜索了很久无果,于是就自己分析QQ音乐的API。
前不久发现QQ音乐 出了网页版的,是Flash的,但是,我用iPhone打开这个链接的时候,它居然自动跳转到一个地址了,居然跳转到 http://soso.music.qq.com/ipad/player.html,看到这个地址,里面有个“ipad”我的第一反应是“难道是 HTML5和JS写的”,我在iPhone上试用了一下,发现确实能用。由此得出,这个iPad版的QQ音乐不是Flash,我在电脑上打开了这个地址, 发现可以打开,于是果断动了歪点子。“既然是HTML和JS写的,我果断就可以分析出QQ音乐里面的API啦!!!”于是马上动手看代码。

分析的过程就不说了,很快就初步得出下面的一个API了,通过这个可以获取到指定QQ号的QQ音乐列表:

HTTP请求格式:
GET 返回格式:json
API地址:http://qzone-music.qq.com/fcg-bin/fcg_music_fav_getinfo.fcg
参数      意义     备注
dirinfo      是否返回用户音乐列表名称与id      为1时返回,为0时不返回
dirid QQ音乐用户的列表id  
uin 用户的QQ号码  
p 随机函数生成的随机数 目前没发现有什么作用随便输一个数就好
例子:  GET http://qzone-music.qq.com/fcg-bin/fcg_music_fav_getinfo.fcg?dirinfo=1&dirid=1&uin=81549201&p=1212121
返回: jsonCallback({     code:0,     msg:"",     uin:81549201,     DirList:[         {             DirID:1,                //列表id             DirName:"我最爱听",//列表名             DirShow:1,//是否开放,1是,0否             DirTime:1323078355//时间         }     ],     SongDirID:2,//返回的列表id     SongNum:1,//列表内歌曲数量     CurNum:1,//当前播放歌曲排序     SongList:[         {             i:1,//列表内歌曲的id             type:13,//类型             id:680277,//歌曲在曲库中id             songname:"跨时代",//歌名             singerid:4558,//歌手id             singername:"周杰伦",//歌手名             url:"http://stream5.qqmusic.qq.com/12680277.wma",歌曲地址             diskid:56705,//专辑id             diskname:"跨时代",//专辑名             playtime:194//歌曲长度         }     ] }) 备注: 经过测试,这个API只能获取用户开放的列表,如果用户设定过只有自己可见的话,只能登录后才能获取,    

1.获取用户列表
HTTP请求格式:GET 返回格式:json
API地址:http://qzone-music.qq.com/fcg-bin/fcg_music_fav_getinfo.fcg  
参数     意义    备注
dirinfo 是否返回用户音乐列表名称与id 为1时返回,为0时不返回
dirid QQ音乐用户的列表id  
uin 用户的QQ号码  
p 随机函数生成的随机数    目前没发现有什么作用随便输一个数就好  
例子 GET http://qzone-music.qq.com/fcg-bin/fcg_music_fav_getinfo.fcg?dirinfo=1&dirid=1&uin=81549201&p=1212121  
返回 jsonCallback({     code:0,     msg:”",     uin:81549201,     DirList:[         {             DirID:1,                //列表id             DirName:"我最爱听",//列表名             DirShow:1,//是否开放,1是,0否             DirTime:1323078355//时间         }     ],     SongDirID:2,//返回的列表id     SongNum:1,//列表内歌曲数量     CurNum:1,//当前播放歌曲排序     SongList:[         {             i:1,//列表内歌曲的id             type:13,//类型             id:680277,//歌曲在曲库中id             songname:"跨时代",//歌名             singerid:4558,//歌手id             singername:"周杰伦",//歌手名             url:"http://stream5.qqmusic.qq.com/12680277.wma",歌曲地址             diskid:56705,//专辑id             diskname:"跨时代",//专辑名             playtime:194//歌曲长度         }     ] })  
2.返回用户绿钻等级
HTTP请求格式:GET 返回类型:XML/json
API地址:http://qzone-music.qq.com/fcg-bin/fcg_vip_getlevel.fcg  
参数 意义 备注
json 返回格式 为1时json,为0时XML
uin 用户的QQ号码  
例子 GET http://qzone-music.qq.com/fcg-bin/fcg_vip_getlevel.fcg?json=1&uin=8549201  
返回 getVipLevelCallback( { level:3,//绿钻等级 vip:0,//是否绿钻 score:0,//。。。 place:0,//。。。 payway:8,//支付方式 isyear:0//是否年费 } )  
3.随便听听列表
HTTP请求格式:GET 返回类型:json
API地址:http://music.qq.com/musicbox/shop/v3/data/random/{type} /random{num}.js?p={random}  
参数 意义 备注
type 歌曲类型/曲风 具体对应关系待分析
num 序号 待分析
random 随机函数生成的随机数
目前没发现有什么作用随便输一个数就好  
例子: GET http://music.qq.com/musicbox/shop/v3/data/random/1/random1.js?p=12  
返回: JsonCallback( { retcode:”1″, songlist: [ { id:"449205",//id type:3,//类型 url:"http://stream9.qqmusic.qq.com:0/449205.wma",//试听地址 songName:"稻香",//歌曲名 singerId:"4558",//歌曲id singerName:"周杰伦",//歌手名 albumId:"36062",//专辑id albumName:"魔杰座",//专辑名 albumLink:"http://shop.qqmusic.qq.com/static/album/62/album_36062.htm", //专辑链接  playtime:"223"//歌曲长度,单位秒 }, ] } )    
4.获取专辑封面
HTTP请求格式:GET 返回类型:图片
API地址:http://imgcache.qq.com/music/photo/album/{albumid0} /albumpic_{albumid}_0.jpg  
参数 意义 备注
{albumid0} 专辑id对100取余  
{albumid} 专辑id    
例子: GET http://imgcache.qq.com/music/photo/album/62/albumpic_36062_0.jpg
返回: 周杰伦跨时代专辑封面  
5.获取用户QQ空间音乐
HTTP请求格式:GET
返回类型:XML
API地址:http://qzone-music.qq.com/fcg-bin/cgi_playlist_xml.fcg
参数 意义 备注
uin QQ号    
例子: GET http://qzone-music.qq.com/fcg-bin/cgi_playlist_xml.fcg?uin=81549201
返回: 1323091348 1 1 678348 3 0 迷人的危险 - 紫色迷情 Dance Flow http://stream3.qqmusic.qq.com/12678348.wma 1675201 206 df 1 57209 0 0 3594 1323091348  
6.获取歌曲歌词
HTTP请求格式:GET
返回类型:图片
API地址:http://imgcache.qq.com/music/photo/album/songid0} /albumpic_{songid}_0.jpg  
参数 意义 备注
{songid0} 歌曲id对100取余  
{songid} 歌曲id    
例子: GET http://music.qq.com/miniportal/static/lyric/5/449205.xml
返回: [00:00.50] 稻香  [00:02.03] 稻香  [00:07.24]  [00:10.08]作词:周杰伦 作曲:周杰伦  [00:15.55]  [00:26.63]  [00:30.61]对这个世界如果你有太多的抱怨  [00:34.15]跌倒了 就不敢继续往前走  [00:36.98]为什么 人要这么的脆弱 堕落  [00:41.11]请你打开 电视看看  [00:42.94]多少人为生命在努力勇敢的走下去  [00:46.87]我们是不是该知足  [00:49.38]珍惜一切 就算没有拥有  [00:53.01]  [00:53.90]还记得你说家是唯一的城堡  [00:57.50]随着稻香河流继续奔跑  [01:00.43]微微笑 小时候的梦我知道  [01:05.53]不要哭让萤火虫带著你逃跑  [01:09.33]乡间的歌谣永远的依靠  [01:12.13]回家吧 回到最初的美好  [01:17.68]  [01:40.86]不要这么容易就想放弃 就像我说的  [01:44.21]追不到的梦想 换个梦不就得了  [01:47.43]为自己的人生鲜艳上色  [01:49.69]先把爱涂上喜欢的颜色  [01:51.77]  [01:52.57]笑一个吧 功成名就不是目的  [01:55.54]让自己快乐快乐这才叫做意义  [01:58.52]童年的纸飞机 现在终于飞回我手里  [02:02.90]  [02:04.16]所谓的那快乐 赤脚在田里追蜻蜓追到累了  [02:08.16]偷摘水果被蜜蜂给叮到怕了  [02:11.42]谁在偷笑呢  [02:13.16]我靠着稻草人吹着风唱着歌睡着了  [02:16.62]哦 哦 午后吉它在虫鸣中更清脆  [02:19.53]哦 哦 阳光洒在路上就不怕心碎  [02:22.62]珍惜一切 就算没有拥有  [02:26.57]  [02:27.38]还记得你说家是唯一的城堡  [02:31.13]随着稻香河流继续奔跑  [02:34.05]微微笑 小时候的梦我知道  [02:39.07]不要哭让萤火虫带著你逃跑  [02:42.81]乡间的歌谣永远的依靠  [02:45.74]回家吧 回到最初的美好  [02:49.90]  [02:51.02]还记得你说家是唯一的城堡  [02:54.49]随着稻香河流继续奔跑  [02:57.50]微微笑 小时候的梦我知道  [03:02.70]不要哭让萤火虫带著你逃跑  [03:06.20]乡间的歌谣永远的依靠  [03:09.35]回家吧 回到最初的美好  [03:15.01]  [al:]摩羯座  [ar:]周杰伦  [ti:]稻香

http://www.ppmy.cn/news/682609.html

相关文章

怎么使用QQ音乐api搭建个人音乐站点

怎么使用QQ音乐api搭建个人音乐站点 最近经常有人在oschina上追问怎么用QQ音乐接口的问题。 闲得无聊,重新折腾了一下网页版QQ音乐压缩版源码,整理了一个完整音乐站点搭建的过程。 https://y.qq.com/ 话不多说,主要分三步,直接上…

QQ音乐api 最新版,亲测可用

关注公众号,每天都能领红包 最近这个api出现了403问题,已经找到原因了 原因是 歌曲不能再以第一参数当id了 要以倒数第5个 如以上的例子 002qU5aY3Qu24y当id,而且前面要加C100,完整的就是 http://ws.stream.qqmusic.qq.com/C1000…

回顾·音乐垂域的自然语言理解

本文根据小米智能云秦斌老师在DataFunTalk人工智能技术沙龙“自然语言处理技术应用实践”中分享的《音乐垂域的自然语言理解》编辑整理而成,在未改变原意的基础上稍做删减。 (秦斌老师在活动现场) 今天分享的内容有项目研究背景、实现了那些功…

各大AI开放平台汇总分析

AI开放平台已经成为企业重要的基础设施。各大公司都建立了自己的AI开放平台,除了BAT科大讯飞的建设的四大AI开放平台外,各公司纷纷推出了自己的人工智能平台,AI平台介绍和汇总如下,不断更新中。 目录 百度AI开放平台 阿里云人工智…

微信开放平台和公众平台的区别?

简单来讲,微信公众平台是我们常见的公众号,包括订阅号、服务号和企业号,主要用于不具备太强技术开放能力,拥有一定运营能力的品牌、商户、媒体以及个人,作为一个自媒体平台或者服务窗口来用,是面向更广大的…

SIM长序列处理

原论文:Search-based User Interest Modeling with Lifelong Sequential Behavior Data for Click-Through Rate Prediction 主要是为了解决长序列带来的计算复杂度问题 解决方法是第一阶段先进性search,有softsearchhardsearch两种方式。 然后用mult-h…

AI革命:赋能职业足球的未来

AI革命:赋能职业足球的未来 目录 引言AI在比赛分析中的应用 实时战术分析个人表现评估基于数据的对手分析 AI在球探系统中的应用 球员能力评估潜在球员发掘转会市场分析 AI在足球培训中的应用 个性化培训计划训练数据分析虚拟现实技术在训练中的应用 结论 1. 引言…

全国程序员收入大调查,粒度到省

2019年五一假期,我没休息,而是统计某招聘网站了全国的程序员工资。 总体统计 2019年4月全国招收程序员302303人。2019年4月全国程序员平均工资12807元,工资中位数11500元,其中95%的人的工资介于3750元到32500元。 各种角色 ca…