# 资源获取接口
资源获取接口可以获取音乐、FM、天气三种资源,目的是使有屏设备更容易获取到相关资源,进行展示。
# 获取音乐资源
如果用户需要使用音乐相关的能力,可以使用音乐的相关接口。音乐技能接口主要分三类,1. 用户登录态管理相关的,主要存储用户登录态相关的。2。 资源获取类接口,这部分主要提供用户获取资源的,包括在设备上展示各种歌曲资源,歌单推荐,类型音乐推荐和搜索等相关接口 3. 语义点播类接口 支持传入用户请求文本或语音数据直接输出需要播放的歌曲接口。
# 注意事项
由于QQ音乐规定手机端QQ音乐的相关音乐资源播放必须使用QQ音乐客户端,**因此使用本章节的所有接口获取的资源仅限在智能音箱设备上播放,**手机上仅能做歌曲信息介绍等产品使用场景,不能进行音乐资源的播放。
# 注册音乐资源登录态接口
用户如果需要使用小微音乐技能除音乐随心听的相关功能,必须先在平台注册用户的登录态,这样才可以使用音乐的相关能力。注册音乐的登录态,当前有两种方式:
1.拉起QQ音乐App、小程序授权:拉起QQ音乐客户端、小程序,相关流程参考Q音授权登录服务,获取到用户音乐登录态之后,将音乐登录态数据存储到小微。(拉起QQ音乐参数申请需要联系商务申请:xiaowei_bd@tencent.com)
- 扫码注册音乐登录态:带屏智能设备端获取二维码,支持微信、QQ 、QQ音乐APP三种方式,扫码注册登录态到小微。
**注意:**1、两种注册登陆态方式选择一种即可,推荐第二种扫码注册音乐登录态。 2、两种登录态的注册都是绑定在用户身份。
两种方式的主要区别: 第一种需要调用方调用Q音开放接口获取音乐登陆态,而第二种扫码注册音乐登录态调用方不用自行获取音乐登陆态,用户直接扫描调用方从小微获取的二维码即可。
请求地址: https://{BASE_URL}/xwcloudapi/register_info?info_type=####
# 拉起QQ音乐App、小程序授权
# 注册用户登录态
info_type=music_login_info
请求参数:
由于登录态是跟随用户的,因此请求参数中base_info 中的sn 没有起作用
field name | field type | required | Desc |
---|---|---|---|
login_type | Int | Yes | 取值0, 1, 2。 0: QQ账号登录 1:微信账号登录。2: 拉起QQ音乐app登录,或者qq音乐app扫码登录 |
app_id | String | Yes | 获取到的appid 属于qq音乐分配的,联系我们商务获取 |
open_id | String | Yes | 登录态open_id |
access_token | String | Yes | 登录态access_token |
请求接口基础参数 | Yse | 详见请求接口基础参数说明章节 |
请求参数示例
{
"login_type": 2, // 拉起QQ音乐app登录,或者qq音乐app扫码登录
"app_id":"1106062274",
"open_id": "E4B834AF95D96973A1EAD747659517D4",
"access_token": "2F548D28CA347D706ED168775992FC6E",
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
# 扫码注册音乐登录态
小微目前支持QQ、微信、Q音三种账号扫码注册音乐的登陆态,QQ和Q音账号注册的登陆态有效期90天,微信账号注册的登陆态有效期30天。扫码注册流程:1、通过获取二维码接口获取二维码数据;2、将获取到的二维码展现给用户,用户扫码确认授权3、调用方后台需要使用查询扫码注册授权状态接口,确定最终授权是否成功。
扫码注册的登录态会存在小微侧,不会把登陆态返回给调用方。
# 获取二维码
info_type=get_qr_code
请求参数:
name | type | required | Desc |
---|---|---|---|
login_type | Int | Yes | 取值0, 1, 2。 0: 获取Q音扫描二维码 1:获取微信扫描二维码。2: 获取QQ扫描二维码 |
请求接口基础参数 | Yse | 详见请求接口基础参数说明章节 |
返回:
{
"code": 0,
"data": {
"qr_code_url": "qqmusic://qq.com/other/openid?p=%7B%22appId%22%3A%2235%22%2C%22cmd%22%3A%22qrcode%22%2C%22code%22%3A%22-Mb5mv4AmLOmu4MsadkN%22%7D",
"session":"00a20cc4000000bb60b5fs1as" // session字段用于查询授权状态。有效期为5分钟
},
"msg": "OK"
}
二维码相关数据都在qr_code_url字段,不同账号展现的二维码形式不一致,通过下面三种方式进行展示:
1、QQ扫码注册音乐登录态
对于QQ注册音乐登录态,获取的qr_code_url是一个h5页面。
H5页面示例:https://m.q.qq.com/a/p/1109523715?s=pages%2Fauth%2Fauth%3Fa%3D35%26c%3D-MbtEgSUrmPjlb5UJOl7 使用QQ扫码,确认授权之后,就完成了登录态的注册。QQ账号注册的登陆态有效期为90天。
2、微信扫码注册登录态
获取二维码接口返回的qr_code_url是图片数据,编码Base64,需要调用方进行处理,转换为二维码图片展示给用户。用户扫码确认授权,就完成了音乐登录态的注册,微信账号注册的登陆态有效期为30天。。云对接没有对Base64图片数据给出下载链接,因为给出链接会多出两次网络传输:1、云对接上传图片数据到CDN,2、调用方从CDN拉取数据。
3、Q音扫码注册登录态
对于QQ音乐app注册音乐登录态,调用方需要使用工具将获取二维码返回的qr_code_url转为二维码,展现给用户,用户扫码授权后,就完成了音乐登陆态的注册。Q音账号注册的登陆态有效期为90天。
# 查询扫码注册授权状态
info_type=get_register_status
请求参数:
name | type | required | Desc |
---|---|---|---|
session | string | Yes | 获取二维码时返回的session字段,有效期为5分钟,如果超过5分钟不授权,需要刷新二维码。如果授权成功,有效期为1小时 |
请求接口基础参数 | Yse | 详见请求接口基础参数说明章节 |
返回:
{
"code": 0,
"data": {
"state": 1, // 0:默认状态,等待授权 1:授权成功 2:授权失败 3:授权取消
"state_msg": ""
},
"msg": "OK"
}
返回字段描述
state | 说明 |
---|---|
0 | 默认状态,等待授权 |
1 | 授权成功 |
2 | 授权失败 |
3 | 授权取消 |
# 注销登录态
info_type=release_qr_authorization
请求参数:
field name | field type | required | Desc |
---|---|---|---|
请求接口基础参数 | Yse | 详见请求接口基础参数说明章节 |
该接口进行解绑音乐登陆态,拉起QQ音乐App、小程序授权 扫码注册音乐登录态两种方式都使用该接口进行解绑。
# 查询会员信息
info_type=member_info
查询登陆的QQ音乐会员信息,该接口只需要传请求接口基础参数。
返回:
{
"code": 0,
"data": {
"eight_end_time": "2022-04-06 11:44:57",
"eight_start_time": "2019-12-21 11:44:57",
"green_vip_end_time": "2022-04-06 11:44:56",
"green_vip_start_time": "2019-12-21 11:44:56",
"head_url": "http://thirdqq.qlogo.cn/g?b=sdk&k=grkDMfSR2VkFDEF43ejOcw&s=140&t=1555949420",
"is_eight_pay_package": true,
"is_green_vip": true,
"is_super_green_vip": true,
"is_twelve_pay_package": false,
"nickname": "*****",
"super_green_vip_end_time": "2022-04-06 11:44:56",
"super_green_vip_start_time": "2019-12-21 11:44:56",
"twelve_end_time": "",
"twelve_start_time": ""
},
"msg": "OK"
}
field name | field type | desc |
---|---|---|
is_green_vip | bool | 绿钻标识,true:是 false:否 |
green_vip_start_time | string | 绿钻开通的时间 |
green_vip_end_time | string | 绿钻结束时间 |
is_super_green_vip | bool | 豪华绿钻 true:是 false:否 |
super_green_vip_start_time | string | 豪华绿钻开通的时间 |
super_green_vip_end_time | string | 豪华绿钻过期时间 |
is_eight_pay_package | bool | 8元付费包标志 true:是 false:否 |
is_twelve_pay_package | bool | 12元豪华付费包标志 true:是 false:否 |
eight_start_time | string | 8元付费包开通的时间 |
eight_end_time | string | 8元付费包过期时间 |
twelve_start_time | string | 12元付费包开通的时间 |
twelve_end_time | string | 12元付费包过期时间 |
nickname | string | 昵称 |
head_url | string | 头像 |
# 获取音乐资源基础字段说明
在音乐的各个接口中,字段返回会有细微的差别,但是其中的大部分的接口字段都会重复出现,为了避免重复介绍相关的字段说明,再此统一进行说明,可以统一在此进行查询,相关字段和含义如下,如果没有解释的一般不用关注:
field name | field type | desc |
---|---|---|
genre | string | 流派 |
hot | int | 被指定用户收藏 |
isonly | int | 独家 |
language | string | 语言 |
playable | int | 是否具有播放权限 1:有权限 0:无权限 |
size_try | int | 高潮长度 |
k_song_id | string | 全民K歌ID |
k_song_mid | string | 全民K歌MID |
song_id | int | 歌曲ID |
song_name | string | 歌曲名 |
song_mid | string | 歌曲MID |
album_id | int | 专辑ID |
album_mid | string | 专辑MID |
album_name | string | 专辑名称 |
album_pic | string | 专辑图 |
song_play_time | int | 播放时长,单位S |
singer_id | int | 歌手ID |
singer_mid | string | 歌手MID |
singer_name | string | 歌手名 |
singer_pic | string | 歌手图片 |
try_begin | int | 高潮开始,单位S |
try_end | int | 高潮结束,单位S |
song_h5_url | string | 歌曲H5页面 |
song_play_url | string | 歌曲链接 |
song_play_url_standard | string | 普通品质 |
song_play_url_hq | string | 高品质 |
song_play_url_sq | string | 无损 |
song_size | int | 歌曲链接对应的资源的大小,单位Byte |
song_size_standard | int | 歌曲链接对应的资源的大小,单位Byte |
song_size_hq | int | 歌曲链接对应的资源的大小,单位Byte |
song_size_sq | int | 歌曲链接对应的资源的大小,单位Byte |
mv_id | int | MV ID |
unplayable_code | int | 无法播放错误码:详细描述,见无法播放错误码与错误信息说明 |
unplayable_msg | string | 无法播放详细描述:详细描述,见无法播放错误码与错误信息说明 |
album_title | string | 专辑标题 |
author | string | 歌曲作者 |
album_pic_150x150 | string | 封面 |
album_pic_300x300 | string | 封面 |
album_pic_500x500 | string | 封面 |
public_time | string | 发行时间 |
other_singer_list | array | 其他歌手 |
vip | int | 只有绿钻可听 0:非绿钻 1:绿钻 |
digital_album | int | 是否数字专辑 |
url_expiry_time | int | url过期时间,非设备不返回url |
user_own_rule | int | 表示用户拥有接口的权限。0:只浏览;1:可播放 |
注意:播放资源之前,判断unplayable_code字段,如果unplayable_code非0,歌曲url相关字段为空。无法播放错误码与错误信息说明。
unplayable_code | unplayable_msg |
---|---|
0 | 无提示 |
1 | 版权原因阻断 |
2 | 未购买绿钻阻断 |
3 | 未购买数字专辑阻断 |
4 | 非法区域阻断 |
5 | 其他阻断 |
7 | 受版权方要求无法在当前设备播放,请到手机QQ音乐上播放 |
8 | 当前接口仅有浏览歌曲信息权限 |
9 | 您不是QQ音乐硬件会员,无法播放 |
10 | 该音频需要付费,请在手机端购买或播放 |
# 获取音乐资源接口
请求地址:https://{BASE_URL}/xwcloudapi/resources?resource_type=xxxx
请求参数:对于请求音乐资源接口,由于音乐资源地区版权问题,Q音要求请求需要携带客户端ip,判断客户所在地区。对应请求参数需要增加用户客户端ip client_addr字段,如果无法获取用户客户端ip,请与小微商务进行提前沟通。
区分音乐资源的: ?resource_type=xxxx
其中xxx 代表的请求资源类型。总计支持下列几种资源请求类型,其中请求参数和字段分别如下:
# 查询排行榜列表
url参数: resource_type=top_list
请求参数 :无
示例:
{
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
"client_addr":"10.12.123.21"
}
返回值:
{
"code": 0,
"data": [
{
"group_id": 0,
"group_name": "巅峰榜",
"group_top_list": [
{
"listen_num": 19200000,
"show_time": "2021-04-01",
"song_list": [
{
"rank": 1,
"singer_id": 7960818,
"singer_mid": "001frvj430X7HW",
"singer_name": "王赫野",
"song_id": 300836597,
"song_name": "大风吹"
},
{
"rank": 2,
"singer_id": 1113580,
"singer_mid": "001DgngT3YCu7G",
"singer_name": "宇宙少女 (우주소녀)",
"song_id": 304000031,
"song_name": "UNNATURAL"
},
{
"rank": 3,
"singer_id": 199515,
"singer_mid": "0003ZpE43ypssl",
"singer_name": "张碧晨",
"song_id": 304010757,
"song_name": "光的方向"
}
],
"top_banner_pic": "http://y.gtimg.cn/music/photo_new/T003R500x500M000003gNBUa20nmWp.jpg",
"top_desc": "",
"top_header_pic": "http://y.gtimg.cn/music/photo_new/T002R300x300M000000gPVkb4VnhwL.jpg",
"top_id": 62,
"top_name": "飙升榜",
"top_type": 0,
"total_num": 100
},
......// 省略信息
{
"listen_num": 19900000,
"show_time": "2021-04-01",
"song_list": [
{
"rank": 1,
"singer_id": 2716679,
"singer_mid": "002sT7040IAT6z",
"singer_name": "大籽",
"song_id": 291911135,
"song_name": "白月光与朱砂痣"
},
{
"rank": 2,
"singer_id": 4605080,
"singer_mid": "002wl8GA0aBbGI",
"singer_name": "是七叔呢",
"song_id": 284726298,
"song_name": "踏山河"
},
{
"rank": 3,
"singer_id": 6016498,
"singer_mid": "002YetSZ06c9c9",
"singer_name": "王靖雯不胖",
"song_id": 299515847,
"song_name": "沦陷"
}
],
"top_banner_pic": "http://y.gtimg.cn/music/photo_new/T003R500x500M000001pnfxM4L2V5i.jpg",
"top_desc": "",
"top_header_pic": "http://y.gtimg.cn/music/photo_new/T002R300x300M000000dt9Py0BrReK.jpg",
"top_id": 26,
"top_name": "热歌榜",
"top_type": 0,
"total_num": 300
}
]
},
......// 省略排行榜信息
{
"group_id": 3,
"group_name": "全球榜",
"group_top_list": [
{
"listen_num":4369840,
"show_time":"2021-03-31",
"song_list":[
{
"rank":1,
"singer_id":16257,
"singer_mid":"002DYpxl3hW3EP",
"singer_name":"Justin Bieber/Daniel Caesar/Giveon",
"song_id":300113884,
"song_name":"Peaches (Explicit)"
},
{
"rank":2,
"singer_id":1227276,
"singer_mid":"003KiJMA3QCdjW",
"singer_name":"Cardi B",
"song_id":297259945,
"song_name":"Up (Explicit)"
},
{
"rank":3,
"singer_id":21414,
"singer_mid":"001F1svH2tTpsC",
"singer_name":"Bruno Mars/Anderson .Paak/Silk Sonic",
"song_id":300213969,
"song_name":"Leave The Door Open"
}
],
"top_banner_pic":"http://y.gtimg.cn/music/photo_new/T003R500x500M000002UkBD63JwEk5.jpg",
"top_desc":"",
"top_header_pic":"http://y.gtimg.cn/music/photo_new/T003R300x300M000002XfMnF0RYwV1.jpg",
"top_id":108,
"top_name":"美国公告牌榜",
"top_type":1,
"total_num":100
},
......// 省略信息
{
"listen_num":229106,
"show_time":"2021-03-29",
"song_list":[
{
"rank":1,
"singer_id":3261008,
"singer_mid":"002p1bn538A19D",
"singer_name":"Pooh Shiesty/Lil Durk",
"song_id":283349986,
"song_name":"Back In Blood(feat. Lil Durk) (Explicit)"
},
{
"rank":2,
"singer_id":2394979,
"singer_mid":"000OKtrZ1hbQao",
"singer_name":"Coi Leray",
"song_id":294374735,
"song_name":"No More Parties (Explicit)"
},
{
"rank":3,
"singer_id":1227276,
"singer_mid":"003KiJMA3QCdjW",
"singer_name":"Cardi B",
"song_id":297259945,
"song_name":"Up (Explicit)"
}
],
"top_banner_pic":"http://y.gtimg.cn/music/photo_new/T003R500x500M000002T87Aj0BfKAA.jpg",
"top_desc":"",
"top_header_pic":"http://y.gtimg.cn/music/photo_new/T003R300x300M000002HsHYh1PQM0q.jpg",
"top_id":128,
"top_name":"YouTube音乐排行榜",
"top_type":1,
"total_num":100
}
]
}
],
"debug_data": null,
"msg": ""
}
# 查询排行榜详情
url 参数:resource_type=top_detail
请求参数:
{
"top_id":4, // 排行榜单的id
"page":1, // 分页参数
"num":1, // 每页返回歌曲数量
"client_addr":"10.12.123.21",
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
num最大值为50,page从1开始
返回值:
{
"code": 0,
"data": {
"listen_num": 19700000,
"show_time": "",
"songlist": [
{
"album_id": 9423892,
"album_mid": "001FUHas3mEGTk",
"album_name": "余年",
"album_pic": "http://y.gtimg.cn/music/photo_new/T002R120x120M000001FUHas3mEGTk_1.jpg",
"album_pic_150x150": "",
"album_pic_300x300": "",
"album_pic_500x500": "",
"album_title": "",
"author": "",
"copyright": 0,
"digital_album": 0,
"genre": "Soundtrack 原声",
"hot": 0,
"isonly": 1,
"k_song_id": 0,
"k_song_mid": "",
"language": "国语",
"mv_id": 0,
"other_singer_list": [],
"playable": 0,
"public_time": "",
"singer_id": 1060985,
"singer_mid": "0022eAG537I1bg",
"singer_name": "肖战",
"singer_pic": "http://y.gtimg.cn/music/photo_new/T001R120x120M0000022eAG537I1bg.jpg",
"size_try": 0,
"song_h5_url": "",
"song_id": 245783925,
"song_mid": "000bFWrY2VrdVp",
"song_name": "余年",
"song_play_time": 265,
"song_play_url": "",
"song_play_url_hq": "",
"song_play_url_sq": "",
"song_play_url_standard": "",
"song_size": 0,
"song_size_hq": 0,
"song_size_sq": 0,
"song_size_standard": 0,
"try_begin": 0,
"try_end": 0,
"unplayable_code": 8,
"unplayable_msg": "当前接口仅有浏览歌曲信息权限",
"url_expiry_time": 1575705865,
"user_own_rule": 0,
"vip": 0
}
],
"top_banner_pic": "http://y.gtimg.cn/music/photo_new/T003R500x500M0000040Cl473kMpdY.jpg",
"top_desc": "追踪全球音乐流行趋势,乐坛最热门歌曲,网络蹿红歌曲根据地。展示QQ音乐用户的关注热度,体现歌曲飙升程度的潮流音乐排行榜。<br><br>更新时间:每天更新<br>歌曲数量:100首<br>统计算法:QQ音乐库内全部歌曲,根据综合数据7天前的涨幅进行排序,取前100名<br>综合数据:登录用户在QQ音乐播放/分享/下载数据",
"top_header_pic": "http://y.gtimg.cn/music/photo_new/T002R300x300M000001FUHas3mEGTk.jpg",
"top_id": 4,
"top_name": "流行指数榜",
"top_type": 0
},
"debug_data": [
],
"msg": ""
}
# 查询分类详情
目前支持的tag有,不断扩展中:
睡前 起床 旅行 健身 门店 夜店 胎教 雨天 咖啡馆 工作 学习 忧伤 快乐 平静 寂寞 治愈 兴奋 电音 流行 古风 民谣 轻音乐 欧美 中国风 Hip-Hop R&B 民歌 乡村 摇滚 嘻哈 舞曲 爵士 古典 英语 粤语 日语 国语 韩语
请求URL参数: resource_type=tag_detail
请求结构体参数:
{
"tag": "流行", // 请求分类的参数
"client_addr":"10.12.123.21",
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
返回结构体:
{
"code": 0,
"data": [
{
"album_id": 80867,
"album_mid": "003sxW6y0Blcm5",
"album_name": "雨生欢禧城",
"album_pic": "http://y.gtimg.cn/music/photo_new/T002R120x120M000003sxW6y0Blcm5_1.jpg",
"album_pic_150x150": "",
"album_pic_300x300": "",
"album_pic_500x500": "",
"album_title": "",
"author": "",
"copyright": 0,
"digital_album": 0,
"genre": "Pop 流行",
"hot": 0,
"isonly": 0,
"k_song_id": 25736,
"k_song_mid": "004JDYup0a8nNv",
"language": "国语",
"mv_id": 29953,
"other_singer_list": [],
"playable": 1,
"public_time": "",
"singer_id": 4324,
"singer_mid": "00328THz3yYR8C",
"singer_name": "陶晶莹",
"singer_pic": "http://y.gtimg.cn/music/photo_new/T001R120x120M00000328THz3yYR8C.jpg",
"size_try": 0,
"song_h5_url": "http://c.y.qq.com/v8/playsong.html?songmid=002nYdew1TZP4L",
"song_id": 526321,
"song_mid": "002nYdew1TZP4L",
"song_name": "单身旅记",
"song_play_time": 259,
"song_play_url": "",
"song_play_url_hq": "",
"song_play_url_sq": "",
"song_play_url_standard": "",
"song_size": 1569582,
"song_size_hq": 6241374,
"song_size_sq": 30224992,
"song_size_standard": 3165540,
"try_begin": 0,
"try_end": 0,
"unplayable_code": 0,
"unplayable_msg": "",
"url_expiry_time": 1575707408,
"user_own_rule": 1,
"vip": 0
},
......
],
"debug_data": null,
"msg": ""
}
# 歌单广场
请求URL参数:resource_type=song_square
请求结构体参数:
field name | field type | required | Desc |
---|---|---|---|
client_addr | string | Yes | 客户端ip |
num | int | Yes | 拉取歌单数量 |
page | int | Yes | 开始偏移,从0开始 |
order | String | Yes | 拉取方式,2:最新 5:最热 |
{
"client_addr":"9.41.119.11",
"num":12,
"page": 1,
"order": 5
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
返回值:
{
"code": 0,
"data": [
{
"commit_time": 1613411065,
"create_time": 1587620355,
"creator": {
"name": "顾雨菲",
"uin": 2749180238
},
"diss_id": 7534460048,
"diss_name": "宋小睿 | 拥有天籁般的嗓音",
"listen_num": 3880658,
"pic_url": "http://p.qpic.cn/music_cover/zQII3lJrGSNNoWObRlPoyngGbPt2UwegcuZia6eiakubySXaMKN2Lj8g/600?n=1"
}
],
"msg": "OK"
}
返回值说明:
参数名称 | 类型 | 描述 |
---|---|---|
code | int | 返回码。 |
msg | string | 如果错误,返回错误信息。 |
data | array | 歌单集合 |
commit_time | uint64 | 歌单修改时间(unix时间戳) |
create_time | uint64 | 歌单创建时间(unix时间戳) |
creator.avatar_url | string | 歌单创建者头像 |
creator.is_vip | int | 歌单创建者身份(2达人 6机构) |
creator.name | string | 歌单创建者名字 |
creator.uin | uint64 | 歌单创建者账号 |
diss_id | uint64 | 歌单id |
diss_name | string | 歌单名 |
pic_url | string | 歌单封面 |
introduction | string | 歌单介绍 |
listen_num | uint64 | 歌单收听数量 |
# 查询歌单列表
返回数据包括我喜欢歌单、自建歌单。不包括收藏歌单,收藏歌单列表数据通过收藏歌单操作接口获取。
请求URL参数:resource_type=favorite_diss_list
请求结构体参数 :无
示例:
{
"client_addr":"10.12.123.21",
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
返回值:
{
"code": 0,
"data": [
{
"create_time": 663136096,
"diss_id": 7290365568, // 歌单id
"diss_name": "我喜欢",
"diss_pic": "",
"listen_num": 9,
"song_num": 6,
"update_time": 34
}
],
"debug_data": null,
"msg": ""
}
# 收藏歌单操作
操作包括对歌单的获取、收藏、取消收藏。
请求URL参数:resource_type=collect_lists
请求结构体参数:
field name | field type | required | Desc |
---|---|---|---|
client_addr | string | Yes | 客户端ip |
diss_id | int64 | Optional | 收藏/取消收藏 时必填 |
page | int | Yes | 0:收藏 1:取消收藏 2:获取收藏歌单 |
{
"diss_id":3230056671,
"operate": 2,
"client_addr":"9.141.129.185"
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
获取收藏歌单返回:
{
"code": 0,
"data": [
{
"creator_nick_name": "",
"diss_id": 7207240136,
"diss_name": "维瓦尔第四季",
"diss_pic": "http://y.gtimg.cn/music/photo_new/T002R500x500M000000JDqby43lIEM.jpg?n=1",
"diss_type": 2,
"listen_num": 238611
}
],
"msg": "OK"
}
注意:可以根据返回的diss_id,请求查询歌单详情resource_type=diss_detail接口,即可获取到该歌单下所有歌曲。
# 查询歌单详情
请求URL参数:resource_type=diss_detail
请求结构体参数:
{
"client_addr":"10.12.123.21",
"diss_id":4, // 歌单id
"page":1, // 分页参数
"num":1, // 每页返回歌曲数量
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
page从1开始,num最大为50
返回值:
{
"code": 0,
"data": [
{
"album_id": 9368268,
"album_mid": "000ylr8A2gclmP",
"album_name": "배가본드 OST Part.9",
"album_pic": "http://y.gtimg.cn/music/photo_new/T002R120x120M000000ylr8A2gclmP_1.jpg",
"album_pic_150x150": "",
"album_pic_300x300": "",
"album_pic_500x500": "",
"album_title": "",
"author": "",
"copyright": 0,
"digital_album": 0,
"genre": "Soundtrack 原声",
"hot": 1,
"isonly": 1,
"k_song_id": 6431864,
"k_song_mid": "001TIR9f4IkfQM",
"language": "韩语",
"mv_id": 1582580,
"other_singer_list": [],
"playable": 1,
"public_time": "",
"singer_id": 1110230,
"singer_mid": "0041wSOz2UgIr3",
"singer_name": "金在奂",
"singer_pic": "http://y.gtimg.cn/music/photo_new/T001R120x120M0000041wSOz2UgIr3.jpg",
"size_try": 0,
"song_h5_url": "http://c.y.qq.com/v8/playsong.html?songmid=004UY6Xn4bJEkw",
"song_id": 245461261,
"song_mid": "004UY6Xn4bJEkw",
"song_name": "그때 내가 지금의 나라면",
"song_play_time": 313,
"song_play_url": "",
"song_play_url_hq": "",
"song_play_url_sq": "",
"song_play_url_standard": "",
"song_size": 1904548,
"song_size_hq": 7580826,
"song_size_sq": 37145561,
"song_size_standard": 3812162,
"try_begin": 0,
"try_end": 0,
"unplayable_code": 0,
"unplayable_msg": "",
"url_expiry_time": 1575706923,
"user_own_rule": 1,
"vip": 0
}
],
"msg": "",
"total_num": 10
}
# 搜索歌曲
请求URL参数:resource_type=search
请求结构体参数:
num最大为50,page最大为4.
{
"client_addr":"10.12.123.21",
"word": "晴天", // 搜索关键词
"page":1,
"num":1
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
返回结构体:
{
"code": 0,
"data": {
"cur_num": 1,
"cur_page": 1,
"keyword": "晴天",
"list": [
{
"album_id": 8220,
"album_mid": "000MkMni19ClKG",
"album_name": "叶惠美",
"album_pic": "http://y.gtimg.cn/music/photo_new/T002R120x120M000000MkMni19ClKG_3.jpg",
"album_pic_150x150": "http://y.gtimg.cn/music/photo_new/T002R150x150M000000MkMni19ClKG_3.jpg",
"album_pic_300x300": "http://y.gtimg.cn/music/photo_new/T002R300x300M000000MkMni19ClKG_3.jpg",
"album_pic_500x500": "http://y.gtimg.cn/music/photo_new/T002R500x500M000000MkMni19ClKG_3.jpg",
"album_title": "叶惠美",
"author": "周杰伦;周杰伦",
"copyright": 1,
"digital_album": 0,
"dissid": "",
"dissname": "",
"docid": "",
"extra_info": "",
"genre": "Pop 流行",
"hot": 0,
"isonly": 0,
"k_song_id": 8606,
"k_song_mid": "000oBPpd23GbIo",
"language": "国语",
"listennum": 0,
"logo": "",
"mv_id": 293791,
"nickname": "",
"other_singer_list": [],
"playable": 1,
"public_time": "",
"singer_id": 4558,
"singer_mid": "0025NhlN2yWrP4",
"singer_name": "周杰伦",
"singer_pic": "http://y.gtimg.cn/music/photo_new/T001R120x120M0000025NhlN2yWrP4_7.jpg",
"size_try": 0,
"song_h5_url": "http://c.y.qq.com/v8/playsong.html?songmid=0039MnYb0qxYhV",
"song_id": 97773,
"song_mid": "0039MnYb0qxYhV",
"song_name": "晴天",
"song_play_time": 269,
"song_play_url": "http://isure6.stream.qqmusic.qq.com/C200002202B43Cq4V4.m4a?guid=12345689&vkey=B9A92A60F50F72FAF07407DE24A703FE8D25984717BE61DC8D366245AA11049589251861EC80EB4285DE2F1B5D6C6D227A588E35C1DEA517&uin=0&fromtag=25689",
"song_play_url_hq": "http://isure6.stream.qqmusic.qq.com/C600002202B43Cq4V4.m4a?fromtag=45689&guid=12345689&uin=0&vkey=025E953436A631324EA3ED703543E7CD2A8A55F641569B83D3C10DFA5E81BB523A0558E91BC2A49FB2D7EA1B15D757DA4B35FF256DE00DA2",
"song_play_url_sq": "http://isure6.stream.qqmusic.qq.com/F000002202B43Cq4V4.flac?fromtag=55689&guid=12345689&uin=0&vkey=DEBBD4CA8FA6E16F81EA2EA54F79D06CA470E11B6A40A2E7F6CC950ED765D93C45293296CF152E704FAEC20EA10353A03E24720EB55D5901",
"song_play_url_standard": "http://isure6.stream.qqmusic.qq.com/C400002202B43Cq4V4.m4a?fromtag=35689&guid=12345689&uin=0&vkey=31BFC98ED943AFBC58A8AF944F6FD2403CB2047F609A39C10EF073E2CDA5BD9138757713B6B615C3862B77A70B105012DC20F05D8A4B0320",
"song_size": 1644265,
"song_size_hq": 6528081,
"song_size_sq": 31430142,
"song_size_standard": 3291622,
"songnum": 0,
"try_30s_url": "http://isure6.stream.qqmusic.qq.com/RS02064dfdIM38rSZY.mp3?guid=12345689&vkey=A331686CCDEF3F1824B1A7D4512C0B1E830CDC8BE1D7C866630B5FB0256CF389821551DABCB529460791CFD4BF783D3B16CAE12D495B4311&uin=0&fromtag=25689",
"try_begin": 84339,
"try_end": 144339,
"uin": 0,
"unplayable_code": 0,
"unplayable_msg": "",
"url_expiry_time": 1665735924,
"user_own_rule": 0,
"vip": 1
}
],
"total_num": 1151,
"zhida": {
"id": 4558,
"type": 1
}
},
"msg": "OK"
}
# 搜索歌手
请求URL参数:resource_type=search_singer
请求结构体参数:
num一次最多返回50,如果所搜歌手在Q音创建了歌手主页,返回数据总数最多为total_num
{
"client_addr":"10.12.123.21",
"word": "周杰伦", // 搜索关键词
"page":1,
"num":1,
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
返回结构体:
{
"code": 0,
"data": {
"cur_num": 1,
"cur_page": 1,
"keyword": "晴天",
"list": [
{
"album_id": 8220,
"album_mid": "000MkMni19ClKG",
"album_name": "叶惠美",
"album_pic": "http://y.gtimg.cn/music/photo_new/T002R120x120M000000MkMni19ClKG_1.jpg",
"album_pic_150x150": "http://y.gtimg.cn/music/photo_new/T002R150x150M000000MkMni19ClKG_1.jpg",
"album_pic_300x300": "http://y.gtimg.cn/music/photo_new/T002R300x300M000000MkMni19ClKG_1.jpg",
"album_pic_500x500": "http://y.gtimg.cn/music/photo_new/T002R500x500M000000MkMni19ClKG_1.jpg",
"album_title": "叶惠美",
"author": "周杰伦",
"copyright": 1,
"digital_album": 0,
"dissid": "",
"dissname": "",
"docid": "",
"genre": "Pop 流行",
"hot": 0,
"isonly": 1,
"k_song_id": 8606,
"k_song_mid": "000oBPpd23GbIo",
"language": "国语",
"listennum": 0,
"logo": "",
"mv_id": 293791,
"nickname": "",
"other_singer_list": null,
"playable": 1,
"public_time": "",
"singer_id": 4558,
"singer_mid": "0025NhlN2yWrP4",
"singer_name": "周杰伦",
"singer_pic": "http://y.gtimg.cn/music/photo_new/T001R120x120M0000025NhlN2yWrP4.jpg",
"size_try": 0,
"song_h5_url": "http://c.y.qq.com/v8/playsong.html?songmid=0039MnYb0qxYhV",
"song_id": 97773,
"song_mid": "0039MnYb0qxYhV",
"song_name": "晴天",
"song_play_time": 269,
"song_play_url": "",
"song_play_url_hq": "",
"song_play_url_sq": "",
"song_play_url_standard": "",
"song_size": 1644265,
"song_size_hq": 6528081,
"song_size_sq": 31430142,
"song_size_standard": 3291622,
"songnum": 0,
"try_begin": 0,
"try_end": 60000,
"uin": 0,
"unplayable_code": 0,
"unplayable_msg": "",
"url_expiry_time": 1575707153,
"user_own_rule": 0,
"vip": 1
}
],
"total_num": 557,
"zhida": {
"id": 0,
"type": 0
}
},
"msg": ""
}
# 搜索歌单
请求URL参数:resource_type=search_song_list
请求结构体参数:
一次最多返回50,不管num取值多少,page最大为4.
{
"client_addr":"10.12.123.21",
"word": "流行唱片店 : 贩卖自己的流行歌", // 搜索关键词
"page":1,
"num":1,
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
返回结构体:
{
"code": 0,
"data": {
"cur_num": 9,
"cur_page": 1,
"keyword": "流行唱片店 : 贩卖自己的流行歌",
"list": [
{
"dissid": "7629833961",
"dissname": "流行唱片店 : 贩卖自己的流行歌",
"docid": "7629833961",
"listennum": 6026111,
"logo": "http://qpic.y.qq.com/music_cover/KmcUNysYbgmny0iahXr23iau4OxNQJVLGuMPnI0cbnOnMIia0g0tXeaFQ/300?n=1",
"nickname": "昆特特@",
"songnum": 65,
"url_expiry_time": 1615604593
},
{
"dissid": "7703874664",
"dissname": "流行唱片店 : 贩卖自己的流行歌",
"docid": "7703874664",
"listennum": 213,
"logo": "http://y.gtimg.cn/music/photo_new/T002R300x300M000000IJrlc09sv4o.jpg?n=1",
"nickname": "慵",
"songnum": 41,
"url_expiry_time": 1615604593
}
],
"total_num": 150,
"zhida": {}
},
"msg": "OK"
}
# 搜索专辑
请求URL参数:resource_type=search_album
请求结构体参数:
一次最多返回50,不管num取值多少,page最大为4.
{
"client_addr":"10.12.123.21",
"word": "七里香", // 搜索关键词
"page":1,
"num":1,
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
返回结构体:
{
"code": 0,
"data": {
"cur_num": 30,
"cur_page": 1,
"keyword": "七里香",
"list": [
{
"album_id": 20612,
"album_mid": "003DFRzD192KKD",
"album_name": "七里香",
"album_pic": "http://y.gtimg.cn/music/photo_new/T002R180x180M000003DFRzD192KKD_1.jpg",
"singer_id": 4558,
"singer_mid": "0025NhlN2yWrP4",
"singer_name": "周杰伦",
"url_expiry_time": 1615604756
}
],
"total_num": 150,
"zhida": {
}
},
"msg": "OK"
}
# 查询专辑详情
请求URL参数:resource_type=album_detail
请求结构体参数:
{
"client_addr":"10.12.123.21",
"album_id": 20612, // 专辑id
"page":1,
"num":1,
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
返回结构体:
{
"code": 0,
"data": [
{
"album_desc": "周杰伦这次引用了诗人席慕蓉名诗《七里香》作为新专辑名称,周杰伦以往每一次的专辑名称都给了歌迷许多想象空间,也给了大家许多惊叹号。这次也许并不令人惊喜。但是周杰伦自有说法:“之所以要把新专辑定名为《七里...",
"album_id": 20612,
"album_mid": "003DFRzD192KKD",
"album_name": "七里香",
"album_translator_name": "Common Jasmine Orange",
"company_name": "阿尔发音乐",
"display": 1,
"public_time": 1091462400,
"singer_id": 4558,
"singer_name": "周杰伦",
"song_id_list": "102065755,102065756,102065757,102065748,102065749,102065750,102065751,102065752,102065753,102065754,",
"songlist": [
{
"album_id": 20612,
"album_mid": "003DFRzD192KKD",
"album_name": "七里香",
"album_pic": "http://y.gtimg.cn/music/photo_new/T002R120x120M000003DFRzD192KKD_1.jpg",
"album_pic_150x150": "http://y.gtimg.cn/music/photo_new/T002R150x150M000003DFRzD192KKD_1.jpg",
"album_pic_300x300": "http://y.gtimg.cn/music/photo_new/T002R300x300M000003DFRzD192KKD_1.jpg",
"album_pic_500x500": "http://y.gtimg.cn/music/photo_new/T002R500x500M000003DFRzD192KKD_1.jpg",
"album_title": "七里香",
"copyright": 1,
"genre": "Pop 流行",
"isonly": 1,
"k_song_id": 95221,
"k_song_mid": "004aRaAa2yF72w",
"language": "国语",
"mv_id": 55517,
"playable": 1,
"public_time": "2004-08-03",
"singer_id": 4558,
"singer_mid": "0025NhlN2yWrP4",
"singer_name": "周杰伦",
"singer_pic": "http://y.gtimg.cn/music/photo_new/T001R120x120M0000025NhlN2yWrP4.jpg",
"song_h5_url": "http://c.y.qq.com/v8/playsong.html?songmid=004WrpV81DMGHv",
"song_id": 102065755,
"song_mid": "004WrpV81DMGHv",
"song_name": "我的地盘",
"song_play_time": 244,
"song_play_url": "http://isure6.stream.qqmusic.qq.com/C2000025nWDH4PCVfs.m4a?guid=12347310&vkey=E1C18272D0C080EB90532FBD9B6C0F6DBEFC90FCABFF69EB3D40F452FA9B61242BDA2B9E74D44E5C7DDEA2A52DD5D0BD58427CDBC86B0BB1&uin=&fromtag=50",
"song_play_url_hq": "http://isure6.stream.qqmusic.qq.com/C6000025nWDH4PCVfs.m4a?guid=12347310&vkey=CB7AAB94614994724A168A4EAB2EED73CD56304CC34B39F51EB700BC052F7E36D23670B4974955FC715612CB7B35A77E9DD92B831FBB5EB3&uin=&fromtag=50",
"song_play_url_sq": "http://isure6.stream.qqmusic.qq.com/F0000025nWDH4PCVfs.flac?guid=12347310&vkey=442861D749D53F394AE6F0F8B79774CA2780B8025B28D809A9615792F56339FAD91694E97ED378ED7A8851A0FD2BE96F3D1411352A7E6424&uin=&fromtag=50",
"song_play_url_standard": "http://isure6.stream.qqmusic.qq.com/C4000025nWDH4PCVfs.m4a?guid=12347310&vkey=6E57A019B16A6C36AFEEC4B3ED966922DE5C72E1797C523A8E6F4F724AC88166F847333B50394568A48CFA9A94BAD92E941C6F13C1109CA3&uin=&fromtag=50",
"song_size": 1474923,
"song_size_hq": 5897778,
"song_size_sq": 29018540,
"song_size_standard": 2976181,
"try_end": 60000,
"url_expiry_time": 1615860468,
"user_own_rule": 1,
"vip": 1
}
]
}
],
"msg": "OK"
}
# 查询歌曲详情
请求URL参数:resource_type=song_detail
请求结构体参数:
{
"client_addr":"10.12.123.21",
"song_id_list":[200380820]
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
说明 :song_id_list中传的歌曲id是int类型。如果通过资源请求相关接口获取音乐资源,歌曲id为song_id字段;如果通过技能请求接口获取音乐资源,歌曲id为res_id中的数字,比如res_id为unique_id=7091652&type=cur,请求之前取=与&中间的数字7091652即为歌曲id。
返回结构体:
{
"code": 0,
"data": [
{
"album_id": 1853998,
"album_mid": "0011IIJE3XYf9L",
"album_name": "三生三世十里桃花 电视剧原声专辑",
"album_pic": "http://y.gtimg.cn/music/photo_new/T002R120x120M0000011IIJE3XYf9L_2.jpg",
"album_pic_150x150": "http://y.gtimg.cn/music/photo_new/T002R150x150M0000011IIJE3XYf9L_2.jpg",
"album_pic_300x300": "http://y.gtimg.cn/music/photo_new/T002R300x300M0000011IIJE3XYf9L_2.jpg",
"album_pic_500x500": "http://y.gtimg.cn/music/photo_new/T002R500x500M0000011IIJE3XYf9L_2.jpg",
"album_title": "三生三世十里桃花 电视剧原声专辑",
"copyright": 1,
"genre": "Soundtrack 原声",
"isonly": 1,
"k_song_id": 2474888,
"k_song_mid": "000SMykv0U4z12",
"language": "国语",
"mv_id": 1069744,
"other_singer_list": [
{
"singer_id": 199515,
"singer_mid": "0003ZpE43ypssl",
"singer_name": "张碧晨",
"singer_title": "张碧晨"
}
],
"playable": 1,
"public_time": "2017-02-18",
"singer_id": 11608,
"singer_mid": "003tMm0y0TuewY",
"singer_name": "杨宗纬",
"singer_pic": "http://y.gtimg.cn/music/photo_new/T001R120x120M000003tMm0y0TuewY.jpg",
"song_h5_url": "http://c.y.qq.com/v8/playsong.html?songmid=001Nl0W80sBSwJ",
"song_id": 200380820,
"song_mid": "001Nl0W80sBSwJ",
"song_name": "凉凉",
"song_play_time": 333,
"song_play_url": "http://isure6.stream.qqmusic.qq.com/C200002BtTjn0t3as4.m4a?guid=12347310&vkey=53226218151F2FAD9FF3120E56D905E2B90B285C4FE76532B586E06072C0150A61BF272C92EE950999FF134A94DCC6C5664AB9B50529C573&uin=&fromtag=50",
"song_play_url_hq": "http://isure6.stream.qqmusic.qq.com/C600002BtTjn0t3as4.m4a?guid=12347310&vkey=CE32913720DA66F3678C24C28405EE37BF92E918B7986FBD7FDE3F5FF8AEBB6A60AD9AE3B52FFF3F26C8C2342FE0F49B88B8422C6EED0591&uin=&fromtag=50",
"song_play_url_sq": "http://isure6.stream.qqmusic.qq.com/F000002BtTjn0t3as4.flac?guid=12347310&vkey=3E919F7309229A65D1DB2A8EA3BD5E1D1BC735EEB4851DB5BFB8DAE5B6D9F3FC956BB42697F0D3A20504FD1FEA8F749455BCA77D06541114&uin=&fromtag=50",
"song_play_url_standard": "http://isure6.stream.qqmusic.qq.com/C400002BtTjn0t3as4.m4a?guid=12347310&vkey=FDABA58DFD906FE510968B81A7A06EC735AAD08768DB1EDBC26479F511965EF2510725B090ABA9983948AECB3332EBB5E20DB4E4155CB899&uin=&fromtag=50",
"song_size": 2044591,
"song_size_hq": 8068200,
"song_size_sq": 36990861,
"song_size_standard": 4072525,
"try_begin": 90000,
"try_end": 150000,
"url_expiry_time": 1618452317,
"user_own_rule": 1,
"vip": 1
}
],
"msg": "OK"
}
# 获取tag列表
请求URL参数:resource_type=get_tag_list
请求结构体参数:
{
"client_addr":"10.12.123.21",
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
返回结构体:
{
"code": 0,
"data": [
{
"group_name": "推荐",
"label": [
{
"id": 100823,
"name": "推荐"
}
]
},
{
"group_name": "热门",
"label": [
{
"id": 3317,
"name": "官方歌单"
},
{
"id": 3418,
"name": "免费热歌"
}
]
}
],
"msg": "OK"
}
# 获取tag歌单
首先需要在获取tag列表中获取所有tag,根据返回数据中的id获取tag歌单。
请求URL参数:resource_type=get_tag_song_list
请求结构体参数:
{
"client_addr":"10.12.123.21",
"page": 1,
"num":2,
"id":100823,
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
num一次最多返回50,page从1开始,标签下歌单最大只能获取100个
返回结构体:
{
"code": 0,
"data": [
{
"create_time": "1626838477",
"creator_name": "一只烧鸡",
"creator_pic": "https://thirdwx.qlogo.cn/mmopen/vi_32/icZELP0NoyntuSSXQTbMn9lFuvgkb3KNTuUmteIQI8yWR4pAmibryndJjDoScZYc2IB8FYUHmqJZEUtWZwztx5aQ/132",
"diss_desc": "国语间的节奏、母语里的躁动。精选25首富有节奏感的华语歌,让你的DNA现在就“动”起来!",
"diss_id": -507157344,
"diss_name": "动次打次!和『华语节奏』一起嗨",
"diss_pic": "http://qpic.y.qq.com/music_cover/h2JkvOIxoMLibicjcxF7F4Qr2a4he69tuBusFL8wICWhDTJ7aUEbr9zeTPWCsuucHt/600?n=1",
"fav_num": 21,
"listen_num": 15561,
"modify_time": "1627022782"
},
{
"create_time": "1625098093",
"creator_name": "❀",
"creator_pic": "http://y.gtimg.cn/music/photo_new/T017R300x300M0000044aiWC3zp9qi.png",
"diss_desc": "我们可以不要宗教、不要图腾,但我们不能没有精神、没有信仰!<br><br>我们要努力,让党旗永远飘扬,让形象永远闪亮!",
"diss_id": -535326990,
"diss_name": "建党百年 | 山河峥嵘 国家同梦",
"diss_pic": "http://qpic.y.qq.com/music_cover/6qOaGvFicHy1RTcbVgbeMsHRVtlRmyR3SRzicibz7uRnQGPI6jXrO2y1g/600?n=1",
"fav_num": 138,
"listen_num": 33751,
"modify_time": "1625648768"
}
],
"msg": "OK"
}
翻页没有更多数据时,会返回52018。
# 获取喜欢歌单列表
请求URL参数:resource_type=favorite_list
请求结构体参数:
{
"client_addr":"10.12.123.21",
"page": 1,
"num" : 10
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
说明:num最大支持50,num和page不传,则获取我喜欢歌单中全部歌曲
返回结构体:
{
"code": 0,
"data": [
{
"album_id": 9846103,
"album_mid": "000f28Rh3besbX",
"album_name": "繁星点点",
"album_pic": "http://y.gtimg.cn/music/photo_new/T002R120x120M000000f28Rh3besbX_1.jpg",
"album_pic_150x150": "http://y.gtimg.cn/music/photo_new/T002R150x150M000000f28Rh3besbX_1.jpg",
"album_pic_300x300": "http://y.gtimg.cn/music/photo_new/T002R300x300M000000f28Rh3besbX_1.jpg",
"album_pic_500x500": "http://y.gtimg.cn/music/photo_new/T002R500x500M000000f28Rh3besbX_1.jpg",
"album_title": "繁星点点",
"copyright": 1,
"genre": "Pop 流行",
"hot": 1,
"language": "国语",
"playable": 1,
"public_time": "2020-01-01",
"singer_id": 3091229,
"singer_mid": "001DFese3R3wFu",
"singer_name": "豪大大",
"singer_pic": "http://y.gtimg.cn/music/photo_new/T001R120x120M000001DFese3R3wFu.jpg",
"song_h5_url": "http://c.y.qq.com/v8/playsong.html?songmid=002G87ZB1hzXsv",
"song_id": 248610724,
"song_mid": "002G87ZB1hzXsv",
"song_name": "麻雀",
"song_play_time": 245,
"song_play_url": "http://isure6.stream.qqmusic.qq.com/C200002G87ZB1hzXsv.m4a?guid=12347310&vkey=55B10B3DBE90BA44D3D51205AB7EF4B9AD365414D8E2E056C43D7E33AB8D0D55E3368586CCB42119E5AF6553B3D3A2ED79108C62293093B3&uin=&fromtag=50",
"song_play_url_standard": "http://isure6.stream.qqmusic.qq.com/C400002G87ZB1hzXsv.m4a?guid=12347310&vkey=BC43527CB7E49CFFFE9B5F261A9E9A5E186F2D9D27CF6374FF701D2B602B03B26C6DA50B170C00EE2D4095417C75E25CB2D5DCD4E6D699EA&uin=&fromtag=50",
"song_size": 1472610,
"song_size_standard": 2944792,
"url_expiry_time": 1618453320,
"user_own_rule": 1
}
],
"total_num": 5,
"msg": "OK"
}
# 设置收藏
请求URL参数:resource_type=set_favorite
请求结构体参数:
field name | field type | required | Desc |
---|---|---|---|
client_addr | string | Yes | 客户端ip |
song_id | int | Yes | 歌曲song_id |
favorite | Bool | Yes | true:设置收藏 false:取消收藏 |
{
"client_addr":"9.41.119.115",
"song_id": 233126321,
"favorite": false,
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
返回值:
{
"code": 0,
"msg": "OK"
}
# 获取歌曲的歌词
请求URL参数:resource_type=song_lyric
请求结构体参数:
field name | field type | required | Desc |
---|---|---|---|
client_addr | string | Yes | 客户端ip |
song_id | int | Yes | 歌曲song_id |
{
"client_addr":"9.41.119.115",
"song_id": 233126321,
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
返回值:
{
"code": 0,
"data": "[ti:多想在平庸的生活拥抱你]\n[ar:隔壁老樊 樊凯杰]\n[al:]\n[by:v_yyccchen]\n[offset:0]\n[00:00.00]多想在平庸的生活拥抱你 (Live) - 隔壁老樊\n[00:01.29]词:隔壁老樊\n[00:02.59]曲:隔壁老樊\n[00:03.89]编曲:杨子轩/徐铭轩/黄超\n[00:05.19]音乐总监:金志文\n[00:06.49]现场调音:周晓飞/杨川川\n[00:07.78]混音:入耳工作坊\n[00:09.08]制作人:段小林\n[00:10.38]吉他:张凇/董珂铭\n[00:11.68]贝斯:郑旭东\n[00:12.98]钢琴:李言\n[00:14.27]键盘PGM:王义雄\n[00:15.57]鼓:尹森\n[00:16.87]现场录音:孙梓滔\n[00:18.18]世界上有很多的东西\n[00:22.05]你生不带来死不带去\n[00:24.31]\n[00:26.45]你能带走的只有自己和自己的脾气\n[00:32.90]\n[00:34.63]你曾拥有最美的爱情\n[00:37.85]\n[00:38.36]你听过最美的旋律\n[00:41.08]\n[00:42.92]触摸过一个人孤独的恐惧\n[00:46.58]也看到过最美的风景\n[00:49.25]\n[00:53.80]我跌跌撞撞奔向你\n[00:58.28]\n[01:00.96]你也不能一个人离去\n[01:05.28]\n[01:09.04]我们在一起说过\n[01:12.08]\n[01:13.12]无论如何一起经历了风雨\n[01:16.79]\n[01:18.22]平平淡淡安安静静地老去\n[01:57.70]\n[01:59.57]世界上有很多的东西\n[02:03.30]你生不带来死不带去\n[02:05.62]\n[02:07.81]你能带走的只有自己和自己的脾气\n[02:13.56]\n[02:16.02]你曾拥有最美的爱情\n[02:19.13]\n[02:19.69]你听过最美的旋律\n[02:22.55]\n[02:24.32]触摸过一个人孤独的恐惧\n[02:27.95]也看到过最美的风景\n[02:30.67]\n[02:34.76]我跌跌撞撞奔向你\n[02:40.92]\n[02:42.30]你也不能一个人离去\n[02:47.79]\n[02:50.43]我们在一起说过\n[02:53.85]\n[02:54.44]无论如何一起经历了风雨\n[02:59.02]\n[02:59.78]平平淡淡安安静静地老去\n[03:04.29]\n[03:40.27]我们拼命的相拥 不给孤独留余地\n[03:47.72]\n[03:48.88]无力 是我们最后难免的结局\n[03:55.23]\n[03:57.30]无力 是我们最后难免的结局",
"msg": "OK"
}
返回值说明:
参数名称 | 类型 | 描述 |
---|---|---|
code | int | 返回码。 |
msg | string | 如果错误,返回错误信息。 |
data | string | 歌词信息 |
# 每日推荐30首
请求URL参数:resource_type= rec_30_everyday
请求结构体参数:无
示例结构:
{
"client_addr":"10.12.123.21",
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
返回结构体:
{
"code": 0,
"data": [
{
"album_id": 80867,
"album_mid": "003sxW6y0Blcm5",
"album_name": "雨生欢禧城",
"album_pic": "http://y.gtimg.cn/music/photo_new/T002R120x120M000003sxW6y0Blcm5_1.jpg",
"album_pic_150x150": "",
"album_pic_300x300": "",
"album_pic_500x500": "",
"album_title": "",
"author": "",
"copyright": 0,
"digital_album": 0,
"genre": "Pop 流行",
"hot": 0,
"isonly": 0,
"k_song_id": 25736,
"k_song_mid": "004JDYup0a8nNv",
"language": "国语",
"mv_id": 29953,
"other_singer_list": [],
"playable": 1,
"public_time": "",
"singer_id": 4324,
"singer_mid": "00328THz3yYR8C",
"singer_name": "陶晶莹",
"singer_pic": "http://y.gtimg.cn/music/photo_new/T001R120x120M00000328THz3yYR8C.jpg",
"size_try": 0,
"song_h5_url": "http://c.y.qq.com/v8/playsong.html?songmid=002nYdew1TZP4L",
"song_id": 526321,
"song_mid": "002nYdew1TZP4L",
"song_name": "单身旅记",
"song_play_time": 259,
"song_play_url": "",
"song_play_url_hq": "",
"song_play_url_sq": "",
"song_play_url_standard": "",
"song_size": 1569582,
"song_size_hq": 6241374,
"song_size_sq": 30224992,
"song_size_standard": 3165540,
"try_begin": 0,
"try_end": 0,
"unplayable_code": 0,
"unplayable_msg": "",
"url_expiry_time": 1575707408,
"user_own_rule": 1,
"vip": 0
},
......
],
"debug_data": null,
"msg": ""
}
# 刷新url
返回的音乐资源url会保证至少4小时有效期,如果url过期,使用该接口刷新过期的音乐资源url。
请求URL参数:resource_type= refresh_res_url
请求结构体参数:
{
"client_addr":"10.12.123.21",
"res_id_list": [
"unique_id=104220502&type=cur",
"unique_id=127136854&type=cur"
],
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
注意 :res_id = "unique_id=" + song_id + "&type=cur"
返回结构体:
{
"code": 0,
"msg": "成功",
"data": {
"resources": [{
"attach_info": "{}",
"duration": 167,
"extend_buf": "eyJleHBpcnlfdGltZSI6MTU5OTA0MDg0MH0=",
"mid": "002HP3xE1sY4GT",
"music_album_name": "The Complete Recordings 1952-1962",
"music_cover_url": "http://y.gtimg.cn/music/photo_new/T002R500x500M00000375Fuz3dt1bS_1.jpg",
"music_name": "The Continental",
"music_singer": "Blossom Dearie",
"play_count": -1,
"playable": 1,
"res_content": "http://isure6.stream.qqmusic.qq.com/C200001ZxoVC3Cg9vZ.m4a?guid=12347310&vkey=472EA23CA1D53800B2787855BB6330E1E1FE86D92103FE19190097B4735F5D5E9FCA5E45EB8831484B1895763C19D016AFF905B5C1EECA57&uin=&fromtag=50",
"res_id": "unique_id=104220502&type=cur"
}, {
"attach_info": "{}",
"duration": 136,
"extend_buf": "eyJleHBpcnlfdGltZSI6MTU5OTA0MDg0MH0=",
"mid": "003fhlM30c0ZQE",
"music_album_name": "所有你想听的翻唱",
"music_cover_url": "http://y.gtimg.cn/music/photo_new/T002R500x500M0000023ZJ4K3Qo5mL_1.jpg",
"music_name": "我又初恋了",
"music_singer": "小心怪兽",
"play_count": -1,
"playable": 1,
"res_content": "http://isure6.stream.qqmusic.qq.com/C2000009iIuS3b2vpp.m4a?guid=12347310&vkey=43E2ADAD60B804096333DCC87495BB767B6CEC37CF03A2805ED80CAA5AB2C91947B2B06334BA710D3BBABCF87E3D86C75A9565332228D5E4&uin=&fromtag=50",
"res_id": "unique_id=127136854&type=cur"
}]
}
}
# 预拉取音乐数据
根据当前播放的音乐资源预先拉取更多音乐数据。适用场景举例:当用户播放完音乐技能返回的音乐资源时,可以请求该接口获取更多资源,提供给用户进行播放。
请求URL参数:resource_type= page_load
请求结构体参数:
{
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
"client_addr":"10.12.123.21",
"res_id": "unique_id=212601620&type=cur",
"is_up": false
}
返回结构体:
{
"code": 0,
"data": {
"resources": [
{
"attach_info": "{}",
"duration": 284,
"extend_buf": "eyJleHBpcnlfdGltZSI6MTYwMzI2MTU2MH0=",
"favorite": 1,
"mid": "00235JzC22xKoT",
"music_album_name": "无人之岛",
"music_cover_url": "http://y.gtimg.cn/music/photo_new/T002R500x500M000002CJXf1168vVk_1.jpg",
"music_name": "无人之岛",
"music_singer": "赵偲旖",
"play_count": -1,
"playable": 1,
"res_content": "http://isure6.stream.qqmusic.qq.com/C20000235JzC22xKoT.m4a?guid=12347310&vkey=024F7EB35FE1AF84335876310AAD15C14E00859997356AE8ABFF60303397A3D6B351224C49567729C0CFC1A94A074F38E6EF640208FA95D9&uin=&fromtag=50",
"res_id": "unique_id=263314275&type=cur"
}
]
},
"msg": "OK"
}
返回错误码说明:
code | desc |
---|---|
0 | 成功 |
52018 | 没有更多数据 |
52019 | res_id不存在 |
# 新歌推荐
请求URL参数:resource_type=new_song_recommendation
请求参数说明:
field name | field type | required | Desc |
---|---|---|---|
tag | int | Yes | 12:内地;9:韩国;13:港台;3:欧美;8:日本 |
请求结构体参数:
{
"client_addr":"10.12.123.21",
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
"tag": 12
}
返回结构体:
{
"code": 0,
"data": [
{
"album_id": 16015289,
"album_mid": "002GscM91ZLHeZ",
"album_name": "野心",
"album_pic": "http://y.gtimg.cn/music/photo_new/T002R120x120M000002GscM91ZLHeZ_1.jpg",
"album_pic_150x150": "http://y.gtimg.cn/music/photo_new/T002R150x150M000002GscM91ZLHeZ_1.jpg",
"album_pic_300x300": "http://y.gtimg.cn/music/photo_new/T002R300x300M000002GscM91ZLHeZ_1.jpg",
"album_pic_500x500": "http://y.gtimg.cn/music/photo_new/T002R500x500M000002GscM91ZLHeZ_1.jpg",
"album_title": "野心",
"author": "",
"copyright": 1,
"digital_album": 0,
"extra_info": "",
"genre": "Pop 流行",
"hot": 0,
"isonly": 0,
"k_song_id": 15376703,
"k_song_mid": "001OqaZ82YH9s2",
"language": "国语",
"mv_id": 1678839,
"other_singer_list": [
],
"playable": 1,
"public_time": "2020-12-11",
"singer_id": 5062,
"singer_mid": "002J4UUk29y8BY",
"singer_name": "薛之谦",
"singer_pic": "http://y.gtimg.cn/music/photo_new/T001R120x120M000002J4UUk29y8BY.jpg",
"size_try": 0,
"song_h5_url": "http://c.y.qq.com/v8/playsong.html?songmid=003COGf722WjdV",
"song_id": 288584812,
"song_mid": "003COGf722WjdV",
"song_name": "野心",
"song_play_time": 220,
"song_play_url": "http://isure6.stream.qqmusic.qq.com/C200003COGf722WjdV.m4a?guid=12347310&vkey=813173BEF79CB5B6F5ACA4185204F7AA35897CBEC6B8BCDE54E9130C43B46D48F44D4272335F58E9F4A1896800A2476D37A15FF0A7593216&uin=&fromtag=50",
"song_play_url_hq": "http://isure6.stream.qqmusic.qq.com/C600003COGf722WjdV.m4a?guid=12347310&vkey=08FB171CE117330BDA7907791365B0A5A3F4E6CAD445E662A6D5E93FAEF83A4DE3DD844ADA57D1AF6C83CF6D7B4DC8EF3013519973EA1C28&uin=&fromtag=50",
"song_play_url_sq": "http://isure6.stream.qqmusic.qq.com/F000003COGf722WjdV.flac?guid=12347310&vkey=A53386F0989C6BDD6C3AA8A4B59EC6DE4FC15BA79D117FE6D8194CF25A8E7BAAA5B2916DCF93814104C55568A6B57887933326AFBFB22D20&uin=&fromtag=50",
"song_play_url_standard": "http://isure6.stream.qqmusic.qq.com/C400003COGf722WjdV.m4a?guid=12347310&vkey=29590767317B18CB1CD3E5E254E238EE83606022A89A466DF6CCB952881E14FB9FCA74B28D234286FCFE874B806FA028295A3353C035FBE6&uin=&fromtag=50",
"song_size": 1333185,
"song_size_hq": 5306484,
"song_size_sq": 26730589,
"song_size_standard": 2676234,
"try_begin": 0,
"try_end": 0,
"unplayable_code": 0,
"unplayable_msg": "",
"url_expiry_time": 0,
"user_own_rule": 1,
"vip": 0
}
],
"msg": ""
}
# 音乐状态上报
QQ音乐版权方要求小微设备用户行为流水上报,才能放开部分版权,所以使用音乐技能,必须进行播放状态的上报。当用户所听歌曲结束或者听歌过程中主动进行切歌,上报该歌曲本次播放的时长等信息。
请求URL参数:https://{BASE_URL}/xwcloudapi/report/music
请求参数说明:
field name | field type | required | Desc |
---|---|---|---|
state_info | json object | Yes | 播放状态信息 |
state_info.play_state | int | Yes | 播放状态:3:歌曲结束 11:主动切歌 |
state_info.play_mode | int | Yes | 0:顺序播放; 1:列表循环;2: 随机不循环; 3:随机循环; 4: 单曲循环 |
state_info.client_ip | String | Yes | 设备端ip |
state_info.cur_res_info | json object | Yes | 当前音乐相关 |
state_info.cur_res_info.res_singer | string | Yse | 歌手 |
state_info.cur_res_info.res_name | string | Yse | 歌曲名称 |
state_info.cur_res_info.content | string | Yse | 歌曲url |
state_info.cur_res_info.res_id | string | Yse | 资源id |
state_info.cur_res_info.time_offset_ms | int | Yes | 听歌时长 |
请求结构体参数:
{
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
"state_info":{
"play_mode":1,
"play_state":3,
"cur_res_info":{
"res_singer":"Tom Salta",
"res_name":"PLAYERUNKNOWNS BATTLEGROUNDS (Main Theme)",
"content":"http://isure6.stream.qqmusic.qq.com/C200000IM3hv2FROPH.m4a?guid=12347310&vkey=EFB1AB5B1ACB183081E8E973A9D3AAEE607676BC2783A75ACA1C145589986E5E31539AFBAA1F021A4957B7FA343F411E3235288932902E31&uin=&fromtag=50",
"res_id":"unique_id=238510502&type=cur",
"time_offset_ms":120
}
}
}
返回结构体:
{
"code": 0,
"msg": "成功"
}
# 音质操作
请求地址: https://{BASE_URL}/xwcloudapi/resources?resource_type=quality
请求参数:
field name | field type | required | Desc |
---|---|---|---|
请求接口基础参数 | Yse | 详见请求接口基础参数说明章节 | |
type | int | Yes | 0:设置音质 1:查询音质 |
quality | int | No | 0:流畅 1:标准 2:高品质 3:无损 |
返回:
{
"code": 0,
"data": {
"quality": 3
},
"msg": "OK"
}
# 设备基础会员查询
请求地址: https://{BASE_URL}/xwcloudapi/register_info?info_type=####
请求参数:
field name | field type | required | Desc |
---|---|---|---|
请求接口基础参数 | Yse | 详见请求接口基础参数说明章节 |
info_type=base_dev_mem_info
返回:
{
"code": 0,
"data": {
"count": 0,
"end": "2023-04-12T18:24:33+08:00",
"is_renew": false
},
"msg": "OK"
}
filed | desc |
---|---|
count | 自动续费次数 |
end | 基础会员到期时间 |
is_renew | 是否开启自动续费 |
# 获取天气资源
请求地址:https://{BASE_URL}/xwcloudapi/resources?resource_type=xxxx
其中天气资源的请求参数为: ?resource_type=weather_info
具体的请求参数如下
# 整体参数介绍
支持的所有参数如下(根据不同的问法,参数组合不同):
{
"query":"北京明天适合运动吗",
"content":"",
"client_ip":"0.0.0.0",
"intention":"天气",
"wait_time_second":0,
"from":"xiaowei",
"date":{
"type":"datetime_point",
"text":"明天",
"date":"2019-12-04",
"date_start":"2019-12-04",
"date_end":"2019-12-04",
"time":"15:00:00",
"time_start":"15:00:00",
"time_end":"15:00:00",
},
"loc":{
"country":"中国",
"province":"湖南省",
"city":"北京市",
"town":"北京市",
"loc_ori":"北京"
"poi":"大福镇",
"lat":39.916666,
"lon":116.4
}
}
得到的结果如下:
{
"code": 0,
"extend_buf": "{\"loc\":\"北京\",\"data\":[{\"date\":\"2019-12-02\",\"condition\":\"晴\",\"min_tp\":\"-5\",\"max_tp\":\"4\",\"wind_lv\":\"3-4级\",\"wind_level\":\"和缓\",\"wind_direct\":\"西南风\",\"pm25\":\"26\",\"quality\":\"优\"},{\"date\":\"2019-12-03\",\"condition\":\"晴\",\"tp\":\"7\",\"min_tp\":\"-3\",\"max_tp\":\"8\",\"wind_lv\":\"3级\",\"wind_level\":\"轻微\",\"wind_direct\":\"西风\",\"pm25\":\"29\",\"quality\":\"优\",\"is_asked\":\"1\"},{\"date\":\"2019-12-04\",\"condition\":\"晴\",\"min_tp\":\"-4\",\"max_tp\":\"9\",\"wind_lv\":\"3级\",\"wind_level\":\"和缓\",\"wind_direct\":\"西南风\",\"pm25\":\"58\",\"quality\":\"良\"},{\"date\":\"2019-12-05\",\"condition\":\"晴\",\"min_tp\":\"-6\",\"max_tp\":\"2\",\"wind_lv\":\"3级\",\"wind_level\":\"和缓\",\"wind_direct\":\"东风\",\"pm25\":\"49\",\"quality\":\"优\"},{\"date\":\"2019-12-06\",\"condition\":\"晴\",\"min_tp\":\"-6\",\"max_tp\":\"3\",\"wind_lv\":\"3级\",\"wind_level\":\"和缓\",\"wind_direct\":\"西南风\",\"pm25\":\"76\",\"quality\":\"良\"},{\"date\":\"2019-12-07\",\"condition\":\"晴\",\"min_tp\":\"-6\",\"max_tp\":\"4\",\"wind_lv\":\"3级\",\"wind_level\":\"和缓\",\"wind_direct\":\"东北风\",\"pm25\":\"107\",\"quality\":\"轻度污染\"},{\"date\":\"2019-12-08\",\"condition\":\"晴\",\"min_tp\":\"-6\",\"max_tp\":\"6\",\"wind_lv\":\"3级\",\"wind_level\":\"和缓\",\"wind_direct\":\"西南风\",\"pm25\":\"165\",\"quality\":\"轻度污染\"},{\"date\":\"2019-12-09\",\"condition\":\"多云\",\"min_tp\":\"-5\",\"max_tp\":\"5\",\"wind_lv\":\"3级\",\"wind_level\":\"和缓\",\"wind_direct\":\"西南风\"},{\"date\":\"2019-12-10\",\"condition\":\"多云\",\"min_tp\":\"-3\",\"max_tp\":\"6\",\"wind_lv\":\"3级\",\"wind_level\":\"和缓\",\"wind_direct\":\"西北风\"},{\"date\":\"2019-12-11\",\"condition\":\"晴\",\"min_tp\":\"-4\",\"max_tp\":\"3\",\"wind_lv\":\"3级\",\"wind_level\":\"和缓\",\"wind_direct\":\"西北风\"},{\"date\":\"2019-12-12\",\"condition\":\"晴\",\"min_tp\":\"-3\",\"max_tp\":\"4\",\"wind_lv\":\"3级\",\"wind_level\":\"和缓\",\"wind_direct\":\"西北风\"},{\"date\":\"2019-12-13\",\"condition\":\"多云\",\"min_tp\":\"-3\",\"max_tp\":\"5\",\"wind_lv\":\"3级\",\"wind_level\":\"和缓\",\"wind_direct\":\"南风\"},{\"date\":\"2019-12-14\",\"condition\":\"晴\",\"min_tp\":\"-2\",\"max_tp\":\"5\",\"wind_lv\":\"3级\",\"wind_level\":\"和缓\",\"wind_direct\":\"北风\"},{\"date\":\"2019-12-15\",\"condition\":\"晴\",\"min_tp\":\"-2\",\"max_tp\":\"5\",\"wind_lv\":\"3级\",\"wind_level\":\"和缓\",\"wind_direct\":\"南风\"},{\"date\":\"2019-12-16\",\"condition\":\"晴\",\"min_tp\":\"-2\",\"max_tp\":\"5\",\"wind_lv\":\"3级\",\"wind_level\":\"和缓\",\"wind_direct\":\"西南风\"},{\"date\":\"2019-12-17\",\"condition\":\"晴\",\"min_tp\":\"-2\",\"max_tp\":\"5\",\"wind_lv\":\"3级\",\"wind_level\":\"和缓\",\"wind_direct\":\"南风\"}],\"hourly_data\":[{\"humidity\":\"45\",\"condition\":\"晴\",\"tp\":\"-3\",\"wind_lv\":\"2级\",\"wind_level\":\"轻微\",\"wind_direct\":\"西北风\"},{\"hour\":\"1\",\"humidity\":\"45\",\"condition\":\"晴\",\"tp\":\"-3\",\"wind_lv\":\"2级\",\"wind_level\":\"轻微\",\"wind_direct\":\"西北风\"},{\"hour\":\"2\",\"humidity\":\"46\",\"condition\":\"晴\",\"tp\":\"-4\",\"wind_lv\":\"2级\",\"wind_level\":\"轻微\",\"wind_direct\":\"西北风\"},{\"hour\":\"3\",\"humidity\":\"45\",\"condition\":\"晴\",\"tp\":\"-4\",\"wind_lv\":\"2级\",\"wind_level\":\"轻微\",\"wind_direct\":\"西北风\"},{\"hour\":\"4\",\"humidity\":\"43\",\"condition\":\"晴\",\"tp\":\"-3\",\"wind_lv\":\"1级\",\"wind_level\":\"轻微\",\"wind_direct\":\"西北风\"},{\"hour\":\"5\",\"humidity\":\"42\",\"condition\":\"晴\",\"tp\":\"-3\",\"wind_lv\":\"1级\",\"wind_level\":\"轻微\",\"wind_direct\":\"西北风\"},{\"hour\":\"6\",\"humidity\":\"42\",\"condition\":\"晴\",\"tp\":\"-4\",\"wind_lv\":\"1级\",\"wind_level\":\"轻微\",\"wind_direct\":\"北风\"},{\"hour\":\"7\",\"humidity\":\"42\",\"condition\":\"晴\",\"tp\":\"-4\",\"wind_lv\":\"1级\",\"wind_level\":\"轻微\",\"wind_direct\":\"北风\"},{\"hour\":\"8\",\"humidity\":\"42\",\"condition\":\"晴\",\"tp\":\"-3\",\"wind_lv\":\"1级\",\"wind_level\":\"轻微\",\"wind_direct\":\"北风\"},{\"hour\":\"9\",\"humidity\":\"38\",\"condition\":\"晴\",\"tp\":\"-1\",\"wind_lv\":\"1级\",\"wind_level\":\"轻微\",\"wind_direct\":\"北风\"},{\"hour\":\"10\",\"humidity\":\"33\",\"condition\":\"晴\",\"tp\":\"1\",\"wind_lv\":\"1级\",\"wind_level\":\"轻微\",\"wind_direct\":\"北风\"},{\"hour\":\"11\",\"humidity\":\"28\",\"condition\":\"晴\",\"tp\":\"4\",\"wind_lv\":\"1级\",\"wind_level\":\"轻微\",\"wind_direct\":\"北风\"},{\"hour\":\"12\",\"humidity\":\"26\",\"condition\":\"晴\",\"tp\":\"7\",\"wind_lv\":\"1级\",\"wind_level\":\"轻微\",\"wind_direct\":\"西北风\"},{\"hour\":\"13\",\"humidity\":\"25\",\"condition\":\"晴\",\"tp\":\"8\",\"wind_lv\":\"1级\",\"wind_level\":\"轻微\",\"wind_direct\":\"西北风\"},{\"hour\":\"14\",\"humidity\":\"24\",\"condition\":\"晴\",\"tp\":\"7\",\"wind_lv\":\"1级\",\"wind_level\":\"轻微\",\"wind_direct\":\"西南风\"},{\"hour\":\"15\",\"humidity\":\"29\",\"condition\":\"晴\",\"tp\":\"6\",\"wind_lv\":\"2级\",\"wind_level\":\"轻微\",\"wind_direct\":\"西风\"},{\"hour\":\"16\",\"humidity\":\"35\",\"condition\":\"晴\",\"tp\":\"4\",\"wind_lv\":\"2级\",\"wind_level\":\"轻微\",\"wind_direct\":\"西南风\"},{\"hour\":\"17\",\"humidity\":\"40\",\"condition\":\"晴\",\"tp\":\"3\",\"wind_lv\":\"2级\",\"wind_level\":\"轻微\",\"wind_direct\":\"西南风\"},{\"hour\":\"18\",\"humidity\":\"41\",\"condition\":\"晴\",\"tp\":\"1\",\"wind_lv\":\"2级\",\"wind_level\":\"轻微\",\"wind_direct\":\"西南风\"},{\"hour\":\"19\",\"humidity\":\"41\",\"condition\":\"晴\",\"tp\":\"1\",\"wind_lv\":\"2级\",\"wind_level\":\"轻微\",\"wind_direct\":\"西南风\"},{\"hour\":\"20\",\"humidity\":\"42\",\"condition\":\"晴\",\"tp\":\"1\",\"wind_lv\":\"2级\",\"wind_level\":\"轻微\",\"wind_direct\":\"西风\"},{\"hour\":\"21\",\"humidity\":\"43\",\"condition\":\"晴\",\"wind_lv\":\"2级\",\"wind_level\":\"轻微\",\"wind_direct\":\"西风\"},{\"hour\":\"22\",\"humidity\":\"44\",\"condition\":\"晴\",\"tp\":\"-1\",\"wind_lv\":\"2级\",\"wind_level\":\"轻微\",\"wind_direct\":\"西风\"},{\"hour\":\"23\",\"humidity\":\"44\",\"condition\":\"晴\",\"tp\":\"-2\",\"wind_lv\":\"2级\",\"wind_level\":\"轻微\",\"wind_direct\":\"西北风\"}]}",
"msg": "成功",
"request_id": "test_Random",
"tts": "北京今天晴,温度-3度到8度,当前温度7度,空气质量优,天冷了,该加衣服了!"
}
其中extend_buf为结构化数据,包含15天天气,当天24小时天气和告警信息。每次查到天气都会返回,因为数据太长了,之后的文档省略它。
下面对不同的问法进行举例说明:
# 询问某地今天的天气
北京今天的天气
请求参数:
{
"query":"北京今天的天气",
"date":{
"type":"datetime_point",
"text":"今天",
"date":"2019-12-03"
},
"loc":{
"city":"北京市",
"town":"北京市",
"loc_ori":"北京"
},
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
其中,datetime_point表示询问的天气时间跨度为一天,如果询问多天的,它是 datetime_interval
。
date.text 为query中的时间的原始文本,这个一般是语义拆解出来的,做自动化测试的时候,自行配置上,之后返回TTS的时候,会根据它来组合TTS。
当date.type为datetime_point的时候,必须填date.date参数。
loc为位置信息,如果设备上报了GPS信息,还会携带经纬度,如果有经纬度,会优先使用,没有经纬度,使用city和town。后面会介绍使用经纬度查询的case。 loc_ori为query中的地址。返回TTS的时候可能会用到它。如果query中不包含地址,比如"今天天气怎么样",name无loc_ori。
返回结果:
{
"code": 0,
"msg": "成功",
"tts": "北京今天晴,温度-3度到8度,当前温度7度,空气质量优,天冷了,该加衣服了!"
}
# 询问某地明天的天气
请求参数:
{
"request_id":"test_Random",
"query":"北京明天的天气",
"date":{
"type":"datetime_point",
"text":"明天",
"date":"2019-12-04"
},
"loc":{
"city":"北京市",
"town":"北京市",
"loc_ori":"北京"
},
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
返回结果:
{
"code": 0,
"msg": "成功",
"tts": "北京明天晴,温度-4度到9度,空气质量良"
}
# 询问某地未来一段时间的天气
请求参数:
{
"query":"北京未来三天的天气",
"date":{
"type":"datetime_interval",
"text":"未来三天",
"date_start":"2019-12-03",
"date_end":"2019-12-06"
},
"loc":{
"city":"北京市",
"town":"北京市",
"loc_ori":"北京"
},
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
date.type为datetime_interval,必须携带date_start和date_end。否则会返回失败。并且,date_start最早为昨天,最迟为两周后。总共只包含15天的天气数据(包括昨天)。
返回结果:
{
"code": 0,
"msg": "成功",
"tts": "北京未来三天整体天气晴,温度-6度到9度,整体空气质量良,天冷了,该加衣服了!"
}
# 询问某地的空气质量
请求参数:
{
"request_id":"test_Random",
"query":"北京未来三天的空气质量",
"date":{
"type":"datetime_interval",
"text":"今天",
"date_start":"2019-12-03",
"date_end":"2019-12-06"
},
"loc":{
"city":"北京市",
"town":"北京市",
"loc_ori":"北京"
},
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
空气质量的数据一般包含本周的,如果在周一问未来三天,可以正确返回,如果在周六问未来三天,只会返回周六和周日的。 Skill约定,问未来N天的时候,会包含当天的。
返回结果:
{
"code": 0,
"msg": "成功",
"tts": "北京今天的空气质量如下:今天优,明天良,后天优,大后天良"
}
# 询问当天指定小时的天气
请求参数:
{
"query":"北京下午三点的天气",
"date":{
"type":"datetime_point",
"text":"下午三点",
"date":"2019-12-03",
"time":"15:00:00"
},
"loc":{
"city":"北京市",
"town":"北京市",
"loc_ori":"北京"
},
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
携带time相关的参数,就会尝试查询指定小时的天气,如果date不是当天,忽略该参数。
返回结果:
{
"code": 0,
"msg": "成功",
"tts": "北京下午三点晴,温度6度,湿度29,比较干燥"
}
下面是忽略time参数的例子: 请求参数:
{
"query":"北京明天下午三点的天气",
"date":{
"type":"datetime_point",
"text":"明天下午三点",
"date":"2019-12-04",
"time":"15:00:00"
},
"loc":{
"city":"北京市",
"town":"北京市",
"loc_ori":"北京"
},
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
返回结果:
{
"code": 0,
"msg": "成功",
"tts": "北京明天晴,温度-4度到9度,空气质量良"
}
# 询问当天指定一段小时的天气
请求参数:
{
"query":"北京下午三点到五点的天气",
"date":{
"type":"datetime_point",
"text":"下午三点到五点",
"date":"2019-12-03",
"time_start":"15:00:00",
"time_end":"17:00:00"
},
"loc":{
"city":"北京市",
"town":"北京市",
"loc_ori":"北京"
},
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
返回结果:
{
"code": 0,
"msg": "成功",
"tts": "北京下午三点到五点晴,温度4度到6度,湿度6到35,比较干燥"
}
# 询问深圳未来十四天天气
请求参数:
{
"query":"深圳未来十四天的天气",
"date":{
"type":"datetime_interval",
"text":"未来十四天",
"date_start":"2019-12-03",
"date_end":"2019-12-16"
},
"loc":{
"city":"深圳市",
"town":"深圳市",
"loc_ori":"深圳"
},
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
返回结果:
{
"code": 0,
"msg": "成功",
"tts": "深圳未来十四天整体天气多云,温度10度到24度,整体空气质量良,略微偏凉,还是蛮舒适的。"
}
# 使用经纬度查询天气
请求参数:
{
"query":"今天的天气",
"date":{
"type":"datetime_point",
"text":"今天",
"date":"2019-12-03"
},
"loc":{
"lat":39.916666,
"lon":116.4
},
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
返回结果:
{
"code": 0,
"msg": "成功",
"tts": "故宫博物院今天晴,温度-3度到8度,当前温度7度,空气质量优,天冷了,该加衣服了!"
}
# 使用错误的经纬度查询天气
请求参数:
{
"query":"今天的天气",
"date":{
"type":"datetime_point",
"text":"今天",
"date":"2019-12-03"
},
"loc":{
"lat":139,
"lon":116.4
},
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
返回结果:
{
"code": 10,
"msg": "102| LBS Weather param error | lat = 139, lon = 116.4 | Lat is illegal | Lat in [-90, 90]",
"tts": "抱歉,暂时没有查询到当前的天气数据"
}
# 询问是否为指定的天气
请求参数:
{
"query":"北京明天会下雨吗",
"date":{
"type":"datetime_point",
"text":"明天",
"date":"2019-12-04"
},
"loc":{
"city":"北京市",
"town":"北京市",
"loc_ori":"北京"
},
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
注意:回复的TTS第一句为 会下雨或者不会下雨,这个是根据query中的关键字进行判断的,也可以带在参数的intention字段中。 支持的关键字有:
{"太阳", "晴", "阴", "多云", "雨", "雪", "雾", "霾", "霜", "冰雹",
"浮尘", "扬沙", "沙尘暴"}
返回结果:
{
"code": 0,
"msg": "成功",
"tts": "不会下雨,北京明天晴,温度-4度到9度,空气质量良"
}
# 询问当天指数
请求参数:
{
"query":"北京今天适合运动吗",
"date":{
"type":"datetime_point",
"text":"今天",
"date":"2019-12-03"
},
"loc":{
"city":"北京市",
"town":"北京市",
"loc_ori":"北京"
},
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
注意:回复的TTS第一句为 指数信息,这个是根据query中的关键字进行判断的,也可以带在参数的intention字段中。 支持的关键字和对应的intention为:
if strings.Contains(req.Query, "污染") {
req.Intention = "空气污染扩散指数"
} else if strings.Contains(req.Query, "紫外线") {
req.Intention = "紫外线指数"
} else if strings.Contains(req.Query, "感冒") {
req.Intention = "感冒指数"
} else if strings.Contains(req.Query, "穿衣") {
req.Intention = "穿衣指数"
} else if strings.Contains(req.Query, "运动") {
req.Intention = "运动指数"
} else if strings.Contains(req.Query, "交通") {
req.Intention = "交通指数"
} else if strings.Contains(req.Query, "息斯敏过敏") {
req.Intention = "息斯敏过敏指数"
} else if strings.Contains(req.Query, "旅游") {
req.Intention = "旅游指数"
} else if strings.Contains(req.Query, "洗车") {
req.Intention = "洗车指数"
} else if strings.Contains(req.Query, "钓鱼") {
req.Intention = "钓鱼指数"
} else if strings.Contains(req.Query, "化妆") {
req.Intention = "化妆指数"
} else if strings.Contains(req.Query, "放风筝") {
req.Intention = "放风筝指数"
} else if strings.Contains(req.Query, "心情") {
req.Intention = "心情指数"
} else if strings.Contains(req.Query, "晨练") {
req.Intention = "晨练指数"
} else if strings.Contains(req.Query, "逛街") {
req.Intention = "逛街指数"
} else if strings.Contains(req.Query, "美发") {
req.Intention = "美发指数"
} else if strings.Contains(req.Query, "感冒") {
req.Intention = "感冒指数"
} else if strings.Contains(req.Query, "空调") {
req.Intention = "空调开指数"
} else if strings.Contains(req.Query, "约会") {
req.Intention = "约会指数"
} else if strings.Contains(req.Query, "舒适度") {
req.Intention = "舒适度指数"
} else if strings.Contains(req.Query, "划船") {
req.Intention = "划船指数"
} else if strings.Contains(req.Query, "雨伞") {
req.Intention = "雨伞指数"
} else if strings.Contains(req.Query, "风寒") {
req.Intention = "风寒指数"
} else if strings.Contains(req.Query, "夜生活") {
req.Intention = "夜生活指数"
} else if strings.Contains(req.Query, "路况") {
req.Intention = "路况指数"
} else if strings.Contains(req.Query, "防晒") {
req.Intention = "防晒指数"
} else if strings.Contains(req.Query, "啤酒") {
req.Intention = "啤酒指数"
} else if strings.Contains(req.Query, "晾晒") {
req.Intention = "晾晒指数"
} else if strings.Contains(req.Query, "中暑") {
req.Intention = "中暑指数"
}
部分指数不一定有对应的TTS数据返回,都是正常的。
返回结果:
{
"code": 0,
"msg": "成功",
"request_id": "test_Random",
"tts": "气温过低,特别容易着凉感冒,较不适宜户外运动,建议室内运动。北京今天晴,温度-3度到8度,当前温度6度,空气质量优,天冷了,该加衣服了!"
}
如果不询问当天的,可能会返回如下结果:
{
"code": 0,
"msg": "成功",
"tts": "抱歉,暂时只能查到今天的指数信息,北京明天晴,温度-4度到9度,空气质量良"
}
# 询问是否升降温
请求参数:
{
"query":"北京今天会升温吗",
"date":{
"type":"datetime_point",
"text":"今天",
"date":"2019-12-03"
},
"loc":{
"city":"北京市",
"town":"北京市",
"loc_ori":"北京"
},
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
注意,升温和降温是通过query的关键字来判断的,也可以放在intention中,支持的关键字:升温、降温。对低温和昨天涨了4度算升温,最高温和昨天相差4度算降温。(昨天以询问的那天作为参照) 返回结果:
{
"code": 0,
"msg": "成功",
"request_id": "test_Random",
"tts": "温度和昨天差不多,北京今天晴,温度-3度到8度,当前温度6度,空气质量优,天冷了,该加衣服了!"
}
{
"code": 0,
"msg": "成功",
"request_id": "test_Random",
"tts": "不会升温,北京今天晴,温度-3度到8度,当前温度6度,空气质量优,天冷了,该加衣服了!"
}
{
"code": 0,
"msg": "成功",
"tts": "会升温,北京今天晴,温度-3度到8度,当前温度6度,空气质量优,天冷了,该加衣服了!"
}
# 询问温度
请求参数:
{
"query":"北京今天的温度",
"date":{
"type":"datetime_point",
"text":"今天",
"date":"2019-12-03"
},
"loc":{
"city":"北京市",
"town":"北京市",
"loc_ori":"北京"
},
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
根据query的关键字温度或者intention为温度。
返回结果:
{
"code": 0,
"msg": "成功",
"tts": "北京今天温度-3度到8度,当前温度6度,晴"
}
# 询问湿度
请求参数:
{
"query":"北京今天的湿度",
"date":{
"type":"datetime_point",
"text":"今天",
"date":"2019-12-03"
},
"loc":{
"city":"北京市",
"town":"北京市",
"loc_ori":"北京"
},
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
根据query的关键字湿度或者intention为湿度。
返回结果:
{
"code": 0,
"msg": "成功",
"tts": "北京今天晴,湿度29,比较干燥"
}
# 注意事项
关于时间date参数:可以为一天,可以为几天,可以为一天的某一小时,可以为一天的某几小时。
关于天气数据的范围:天气包含昨天开始的15天数据,空气质量包含本周的数据,指数包含当天的数据,某小时的天气包含当天的数据。
关于位置loc参数:优先使用lat和lon,再使用city和town,如果这些都不存在,尝试使用loc_ori、province、country。city和town优先使用全部满足、再使用town、再使用city。
如果参数中的date不符合约定(字段缺失、查询的子意图目标和时间段不匹配)或者loc不符合约定(字段缺失),会返回对应的错误TTS:
抱歉,暂时只能查到昨天和未来十四天的天气
抱歉,暂时只能查到今天的指数信息
抱歉,暂时只能查到本周的空气质量
抱歉,暂时没有相关信息,你可以问我 北京今天的天气
请问你想要查询哪里的天气
抱歉,暂时没有查询到当前的天气数据
抱歉,暂时没有查询相关的天气信息,您可以到中国天气网站自助查询
关于client_ip参数:如果没传位置loc参数,会根据client_ip获取地址,进行兜底查询,但是ip解析可能会不准确,在能获取loc参数情况下首选传loc参数获取天气,谨慎使用client_ip调用方式。如果不能获取到调用方ip,云对接会自动获取调用方ip填入client_ip字段。
# 获取fm资源
**更新说明:**支持原有请求方式不变,主要有以下两点更新
1、请求接口由https://{BASE_URL}/xwcloudapi/fm?resource_type=xxxx更新为https://{BASE_URL}/xwcloudapi/resources?resource_type=xxxx
2、请求携带参数发生改变
请求地址:https://{BASE_URL}/xwcloudapi/resources?resource_type=xxxx
# 相关字段说明
FM大多数接口都会返回资源信息,在返回Json数据中为resources字段内容。resources字段内容与FM技能请求返回一致。
# 获取播放资源
url参数: resource_type=play_res
请求参数:
{
"fm_type": 4,
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
参数说明
参数 | 是否必传 | 说明 |
---|---|---|
fm_type | 必传 | 1代表电台; 2代表小说; 3代表相声; 4代表评书; 5代表故事; 6代表笑话; 7代表杂烩; |
返回结果
{
"code": 0,
"data": {
"resources": [{
"duration": 1861,
"music_album_name": "狄公案之双钉奇冤",
"music_cover_url": "http://imgcache.qq.com/fm/photo/album/rmid_album_360/2/K/004QmZZS0pNJ2K.jpg?time=1511101797",
"music_name": "第001回",
"music_singer": "评书精选",
"play_count": -1,
"playable": 1,
"res_content": "http://ws.stream.fm.qq.com/R196002TG7a64QMNEQ.m4a?fromtag=36&guid=1598842438&vkey=8B359E41C1E348B7201AEB79963B660DA10925C007454ECEF3B16327D06A73DCEDFFF9B2BFCFB51842955F0D277F50C80016C51FDE72E0E0",
"res_id": "unique_id=rd002TG7a64QMNEQ&type=4&album_id=rd004QmZZS0pNJ2K&show_sequence=1"
},
.....................
{
"duration": 1864,
"music_album_name": "狄公案之双钉奇冤",
"music_cover_url": "http://imgcache.qq.com/fm/photo/album/rmid_album_360/2/K/004QmZZS0pNJ2K.jpg?time=1511101797",
"music_name": "第006回",
"music_singer": "评书精选",
"play_count": -1,
"playable": 1,
"res_content": "http://ws.stream.fm.qq.com/R196002MA0ae1g8QpQ.m4a?fromtag=36&guid=1598842438&vkey=31F63BEF95F6A0E6E29D2C24C0E1780A74AF0B284E33A83B6843C3B99F162F0C0B11DD6F91A9562199BB6701D4E1D509A38AD9317B9AC92B",
"res_id": "unique_id=rd002MA0ae1g8QpQ&type=4&album_id=rd004QmZZS0pNJ2K&show_sequence=6"
}]
},
"msg": "OK"
}
# 获取收藏列表
url参数: resource_type=get_fav_list
请求参数:
{
"count": 2,
"is_up": false,
"res_id":"",
"fm_type": 0
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
参数说明
参数 | 是否必传 | 说明 |
---|---|---|
count | 非必传 | 返回资源数量:默认为10 |
res_id | 非必传 | 当前播放的资源id |
fm_type | 非必传 | 0代表未知; 1代表电台; 2代表小说; 3代表相声; 4代表评书; 5代表故事; 6代表笑话; 7代表杂烩; |
返回结果:
{
"code": 0,
"data": {
"resources": [{
"duration": 436,
"music_album_name": "诗词之美",
"music_cover_url": "http://imgcache.qq.com/fm/photo/programe/rmid_programe_360/O/y/004R6rE4422cOy.jpg?time=1515392259",
"music_name": "浪淘沙令帘外雨潺潺-李煜",
"music_singer": "凯紫",
"play_count": -1,
"playable": 1,
"res_content": "http://ws.stream.fm.qq.com/R196004R6rE4422cOy.m4a?fromtag=36&guid=1584070744&vkey=5E8A7F9503AAE8161F97C55D4CD5263841D4B49ED3C13AC3E31C7272801C3B05F1F96DD0021CC81AED31412214AA0A71103793FE9F2FC7D8",
"res_id": "unique_id=rd004R6rE4422cOy&type=0&album_id=rd0009oiN53obftH&show_sequence=4"
}]
},
"msg": "OK"
}
# 换一个
url参数: resource_type=switch_next
请求参数:
{
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
返回结果
换一个返回的结果依赖于获取播放资源传的fm_type。有两种返回结果:
1、当获取播放资源接口中传的fm_type为1时,返回的结果。
{
"code": 0,
"data": {
"control_id": 1000015, //下一首指令的控制id
"tts": "好的,为你切换下一首"
},
"msg": "OK"
}
说明:control_id为1000015表示播放下一首的指令。
2、当获取播放资源接口中传的fm_type非1时,返回的结果。
{
"code": 0,
"data": {
"res_info": [{
"duration": 1821,
"music_album_name": "狄公案之迷宫游孽",
"music_cover_url": "http://imgcache.qq.com/fm/photo/album/rmid_album_360/1/x/003Ol0QH1gWe1x.jpg?time=1511101650",
"music_name": "第001回",
"music_singer": "评书精选",
"offset_milliseconds": 0,
"play_count": -1,
"playable": 1,
"res_content": "http://ws.stream.fm.qq.com/R1960024SuDp0D4I6R.m4a?fromtag=36&guid=1598923745&vkey=8D5D456E20E85AB98C09E8161D0DD76869D11E0A5109E8C37D3BBAF2A9454246FEBBCD7F9E16C227878F59E1631088BE089CD16AC2B6B849",
"res_id": "unique_id=rd0024SuDp0D4I6R&type=4&album_id=rd003Ol0QH1gWe1x&show_sequence=1",
"res_type": 0
},
........................
{
"duration": 1810,
"music_album_name": "狄公案之迷宫游孽",
"music_cover_url": "http://imgcache.qq.com/fm/photo/album/rmid_album_360/1/x/003Ol0QH1gWe1x.jpg?time=1511101650",
"music_name": "第006回",
"music_singer": "评书精选",
"offset_milliseconds": 0,
"play_count": -1,
"playable": 1,
"res_content": "http://ws.stream.fm.qq.com/R196000R1LoC1HMmKw.m4a?fromtag=36&guid=1598923745&vkey=37F0CE625EE8DE012893925DE0AFE58F6FCFDA6CB6D6224DFDEF54772EC8314325FE4E00680BF766CFAA4BC0F6AB441BEA5DFF528BE9021F",
"res_id": "unique_id=rd000R1LoC1HMmKw&type=4&album_id=rd003Ol0QH1gWe1x&show_sequence=6",
"res_type": 0
}],
"tts": "好的,为你播放狄公案之迷宫游孽,第001回"
},
"msg": "OK"
}
# 根据资源id查询播放的节目信息
url参数: resource_type=get_res_detail
请求参数:
{
"res_id_list":["unique_id=rd004R6rE4422cOy&type=5&album_id=rd0009oiN53obftH&show_sequence=8"],
"fm_type": 0,
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
参数说明
参数 | 是否必传 | 说明 |
---|---|---|
res_id_list | 必传 | 为数组类型,资源id |
fm_type | 非必传 | 0代表未知; 1代表电台; 2代表小说; 3代表相声; 4代表评书; 5代表故事; 6代表笑话; 7代表杂烩; |
返回结果:
{
"code": 0,
"data": {
"resources": [{
"duration": 436,
"music_album_name": "诗词之美",
"music_cover_url": "http://imgcache.qq.com/fm/photo/programe/rmid_programe_360/O/y/004R6rE4422cOy.jpg?time=1515392259",
"music_name": "浪淘沙令帘外雨潺潺-李煜",
"music_singer": "凯紫",
"play_count": -1,
"playable": 1,
"res_content": "http://ws.stream.fm.qq.com/R196004R6rE4422cOy.m4a?fromtag=36&guid=1584070744&vkey=6C18ACC04466D76C31E62B454B2F5F9D348F46B0E8A792A1D62417825FA9313B268639E520EF835E43E20C6398E06FF2FB27010C8191F5EB",
"res_id": "unique_id=rd004R6rE4422cOy&type=0&album_id=rd0009oiN53obftH&show_sequence=8"
}]
},
"msg": "OK"
}
# 预拉取更多
url参数: resource_type=pre_get_more
请求参数:
{
"count": 2,
"res_id": "unique_id=rd004R6rE4422cOy&type=0&album_id=rd0009oiN53obftH&show_sequence=8",
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
参数说明
参数 | 是否必传 | 说明 |
---|---|---|
count | 非必传 | 返回资源数量:默认10首 |
res_id | 非必传 | 当前播放的资源id |
返回结果:
{
"code": 0,
"data": {
"resources": [{
"duration": 205,
"music_album_name": "《小屁孩上学记》",
"music_cover_url": "http://imgcache.qq.com/fm/photo/programe/rmid_programe_360/g/r/000ady4k0z8mgr.jpg?time=1490865994",
"music_name": "小屁孩上学记 -07校长不会系鞋带",
"music_singer": "米粒姐姐",
"play_count": -1,
"playable": 1,
"res_content": "http://ws.stream.fm.qq.com/R196000ady4k0z8mgr.m4a?fromtag=36&guid=1584070745&vkey=8461F9DD0F819DBDBEEF5D688DE5217F680788D649C54CBAA3F481B221D52EEFED8F0A50BD22DA87A39077D1FB4674D0FDC7069451BD45F1",
"res_id": "unique_id=rd000ady4k0z8mgr&type=5&album_id=rd002BquEE1wwttP&show_sequence=7"
}, {
"duration": 483,
"music_album_name": "《小屁孩上学记》",
"music_cover_url": "http://imgcache.qq.com/fm/photo/programe/rmid_programe_360/E/6/000oWUbG0xY4E6.jpg?time=1490931818",
"music_name": "小屁孩上学记 -08开学典礼",
"music_singer": "米粒姐姐",
"play_count": -1,
"playable": 1,
"res_content": "http://ws.stream.fm.qq.com/R196000oWUbG0xY4E6.m4a?fromtag=36&guid=1584070745&vkey=D736211BA4A8B1F1FCD37D1244C826CBC7CE864F80906B7C1D5E84D860CE66DC510B4EE105DB116F185BE00A8B5BB6B46CF41DC92831CDCC",
"res_id": "unique_id=rd000oWUbG0xY4E6&type=5&album_id=rd002BquEE1wwttP&show_sequence=8"
}]
},
"msg": "OK"
}
# 收藏 取消收藏
url参数: resource_type=set_fm_favorite
请求参数:
{
"res_id": "unique_id=rd004R6rE4422cOy&type=0&album_id=rd0009oiN53obftH&show_sequence=8",
"favorite": true,
"fm_type": 2,
"请求接口基础参数":{xxxxx} // 详见**请求接口基础参数说明**章节
}
参数说明
参数 | 是否必传 | 说明 |
---|---|---|
res_id | 必传 | 当前播放的资源id |
favorite | 必传 | true-收藏,false-取消收藏 |
fm_type | 非必传 | 0代表未知; 1代表电台; 2代表小说; 3代表相声; 4代表评书; 5代表故事; 6代表笑话; 7代表杂烩; |
返回结果:
{
"code": 0,
"data": {
"tts": "已收藏,你也可以让我取消收藏"
},
"msg": "OK"
}