音频能力

优质
小牛编辑
131浏览
2023-12-01

使用说明

能力说明

此能力主要用于为智能设备提供音频服务,使用前需要接入设备管理,功能包括歌单管理、点播服务,消费用户网盘里的音频文件。

接入步骤

1、获取access_token,参考开放平台接入文档

2、进行设备注册和设备绑定,参考开放平台设备管理接口文档:https://www.xnip.cn/shouce/629/47115.html

3、使用 access_token + deviceId 请求音频服务

通用参数

参数类型必需示例值描述
clienttypeint101客户端类型,具体值线下提供,请联系邮箱netdisk-union@baidu.com
channelstringyinxiangserver客户端名称,具体值线下提供,请联系邮箱netdisk-union@baidu.com
randstring26741456防破解参数,计算方法线下提供,请联系邮箱netdisk-union@baidu.com
access_tokenstring1.a6b7dbd428f731035f771b8d15063f61.86400.8124328授权凭证
device_idstring104771607rs1607808设备ID,设备注册接口下发
timestring1545999823请求时间戳,单位秒

备注:

1、通用参数所有接口都要带

2、通用参数必须放在URL里(即query参数)

获取待添加的音频文件列表

接口说明

获取未添加到播放列表的音频文件

请求地址

https://pan.baidu.com/rest/2.0/xpan/soundbox?method=selectlist

请求方法

GET

请求参数

参数类型必需示例值描述
clienttypeint101客户端类型,具体值线下提供,请联系邮箱netdisk-union@baidu.com
channelstringyinxiangserver客户端名称,具体值线下提供,请联系邮箱netdisk-union@baidu.com
randstring26741456防破解参数,计算方法线下提供,请联系邮箱netdisk-union@baidu.com
access_tokenstring1.a6b7dbd428f731035f771b8d15063f61.86400.8124328授权凭证
device_idstring104771607rs1607808设备ID,设备注册接口下发
timestring1545999823请求时间戳,单位秒
startint320查询起点,从0开始
limitint32500查询数目,最大限制为500

响应参数

参数类型示例描述
errnoint0错误码
has_moreint321是否还有下一分页,1 还有、0 没有
cursorint3210下一次查询的start
listjson array文件列表,返回结果按文件修改时间倒序排列
list[0]["path"]string/apps/appName/音乐/叶惠美/周杰伦-最新东风破.mp3文件全路径
list[0]filenamestring周杰伦-最新东风破.mp3文件名
list[0]fs_iduint64162859824199844文件id
list[0]sizeuint645050022文件大小
list[0]ctimeint321405574688服务端创建时间
list[0]mtimeint321545998568服务端修改时间

请求示例

curl请求示例

curl "https://pan.baidu.com/rest/2.0/xpan/soundbox?method=selectlist&clienttype=101&channel=yinxiangserver&access_token=123&device_id=456&time=1545999823&rand=789&start=0&limit=10" -H "User-Agent: pan.baidu.com" 

python请求示例

import requests

url = "https://pan.baidu.com/rest/2.0/xpan/soundbox?method=selectlist&clienttype=101&channel=yinxiangserver&access_token=1.a6b7dbd428f731035f771b8d15063f61.86400.8124328&device_id=104771607rs1607808&time=1545999823&rand=789&start=0&limit=10"

payload = {} headers = { 'Cookie': 'BAIDUID=56BE0870011A115CFA43E19EA4CE92C2:FG=1; BIDUPSID=56BE0870011A115CFA43E19EA4CE92C2; PSTM=1535714267' }

response = requests.request("GET", url, headers=headers, data = payload)

print(response.text.encode('utf8'))

响应示例

{
  "cursor": 10,
  "errmsg": "succ",
  "errno": 0,
  "has_more": 1,
  "list": [
    {
      "ctime": 1405574688,
      "filename": "周杰伦 - 最新东风破.mp3",
      "fs_id": 162859824199844,
      "mtime": 1545998568,
      "path": "/apps/appName/音乐/叶惠美/周杰伦 - 最新东风破.mp3",
      "size": 5050022
    },
    {
      "ctime": 1405574693,
      "filename": "周杰伦 - 双刀.mp3",
      "fs_id": 711243569757141,
      "mtime": 1534397825,
      "path": "/apps/appName/音乐/叶惠美/周杰伦 - 双刀.mp3",
      "size": 11663360
    }
  ],
  "request_id": "2747470237664671977"
}

错误码说明

错误码描述
42501数目超限

更多错误码:https://www.xnip.cn/shouce/629/47126.html

添加音频文件到播放列表

接口说明

将用户网盘里的音频文件添加到播放列表

请求地址

https://pan.baidu.com/rest/2.0/xpan/soundbox?method=add

请求方式

POST

请求参数

query参数

参数类型必需示例值描述
clienttypeint101客户端类型,具体值线下提供,请联系邮箱netdisk-union@baidu.com
channelstringyinxiangserver客户端名称,具体值线下提供,请联系邮箱netdisk-union@baidu.com
randstring26741456防破解参数,计算方法线下提供,请联系邮箱netdisk-union@baidu.com
access_tokenstring1.a6b7dbd428f731035f771b8d15063f61.86400.8124328授权凭证
device_idstring104771607rs1607808设备ID,设备注册接口下发
timestring1545999823请求时间戳,单位秒

body参数

参数类型必需示例值描述
paramjson str{"list":[162859824199844,1039269563558843]}list为fs_id数组,数组最大长度为200

响应参数

参数类型示例值描述
listjson array[162859824199844,1039269563558843]添加成功的fs_id
errnoint0错误码

请求示例

curl请求示例

curl "https://pan.baidu.com/rest/2.0/xpan/soundbox?method=add&clienttype=101&channel=yinxiangserver&access_token=123&device_id=456&time=1545999823&rand=789" -d 'param={"list":[162859824199844,1039269563558843]}' -H "User-Agent: pan.baidu.com" 

python请求示例

import requests

url = "https://pan.baidu.com/rest/2.0/xpan/soundbox?method=add&clienttype=101&channel=yinxiangserver&access_token=1.a6b7dbd428f731035f771b8d15063f61.86400.8124328&device_id=104771607rs1607808&time=1545999823&rand=789&start=0&limit=10"

payload = {'param': '{"list":[162859824199844,1039269563558843]}'} files = [

] headers = { 'Cookie': 'BAIDUID=56BE0870011A115CFA43E19EA4CE92C2:FG=1; BIDUPSID=56BE0870011A115CFA43E19EA4CE92C2; PSTM=1535714267' }

response = requests.request("POST", url, headers=headers, data = payload, files = files)

print(response.text.encode('utf8'))

响应示例

{
  "errmsg": "succ",
  "errno": 0,
  "list": [
    162859824199844,
    1039269563558843
  ],
  "request_id": "2887486210172651182"
}

错误码说明

错误码描述
42501数目超限
42503音频文件添加失败

更多错误码:https://www.xnip.cn/shouce/629/47126.html

从播放列表中删除音频文件

接口说明

从播放列表里删除某个音频文件

请求地址

https://pan.baidu.com/rest/2.0/xpan/soundbox?method=delete

请求方式

POST

请求参数

query参数

参数类型必需示例值描述
clienttypeint101客户端类型,具体值线下提供,请联系邮箱netdisk-union@baidu.com
channelstringyinxiangserver客户端名称,具体值线下提供,请联系邮箱netdisk-union@baidu.com
randstring26741456防破解参数,计算方法线下提供,请联系邮箱netdisk-union@baidu.com
access_tokenstring1.a6b7dbd428f731035f771b8d15063f61.86400.8124328授权凭证
device_idstring104771607rs1607808设备ID,设备注册接口下发
timestring1545999823请求时间戳,单位秒

body参数

参数类型必需描述
paramjson array{"list":[162859824199844,1039269563558843]}

响应参数

参数类型示例值描述
listjson array[162859824199844,1039269563558843]删除成功的fs_id

请求示例

curl请求示例

curl "https://pan.baidu.com/rest/2.0/xpan/soundbox?method=delete&clienttype=101&channel=yinxiangserver&access_token=123&device_id=456&time=1545999823&rand=789" -d 'param={"list":[162859824199844,1039269563558843]}' -H "User-Agent: pan.baidu.com" 

python请求示例

import requests

url = "https://pan.baidu.com/rest/2.0/xpan/soundbox?method=delete&clienttype=101&channel=yinxiangserver&access_token=1.a6b7dbd428f731035f771b8d15063f61.86400.8124328&device_id=104771607rs1607808&time=1545999823&rand=789&start=0&limit=10"

payload = {'param': '{"list":[162859824199844,1039269563558843]}'} files = [

] headers = { 'Cookie': 'BAIDUID=56BE0870011A115CFA43E19EA4CE92C2:FG=1; BIDUPSID=56BE0870011A115CFA43E19EA4CE92C2; PSTM=1535714267' }

response = requests.request("POST", url, headers=headers, data = payload, files = files)

print(response.text.encode('utf8'))

响应示例

{
  "errmsg": "succ",
  "errno": 0,
  "list": [
    162859824199844,
    1039269563558843
  ],
  "request_id": "3078939214344735430"
}

错误码说明

错误码描述
42501数目超限
42505音频文件删除失败

更多错误码:https://www.xnip.cn/shouce/629/47126.html

获取音频播放列表

接口说明

获取音频播放列表

请求地址

https://pan.baidu.com/rest/2.0/xpan/soundbox?method=list

请求方式

GET

请求参数

参数类型必需示例值描述
clienttypeint101客户端类型,具体值线下提供,请联系邮箱netdisk-union@baidu.com
channelstringyinxiangserver客户端名称,具体值线下提供,请联系邮箱netdisk-union@baidu.com
randstring26741456防破解参数,计算方法线下提供,请联系邮箱netdisk-union@baidu.com
access_tokenstring1.a6b7dbd428f731035f771b8d15063f61.86400.8124328授权凭证
device_idstring104771607rs1607808设备ID,设备注册接口下发
timestring1545999823请求时间戳,单位秒
startint320查询起点,从0开始
limitint321000查询数目,最大为1000

响应参数

参数类型示例值描述
errnoint0错误码
has_moreint321是否还有下一分页,1 还有、0 没有
list[0]["album"]string爱像太平洋专辑名称,可能为空
list[0]["artist"]string任贤齐歌手名称,可能为空
list[0]["title"]string伤心太平洋歌曲名称,可能为空
list[0]["filename"]string伤心太平洋.mp3文件名

备注:音频meta信息可能为空

请求示例

curl请求示例

curl "https://pan.baidu.com/rest/2.0/xpan/soundbox?method=list&clienttype=101&channel=yinxiangserver&access_token=123&device_id=456&time=1545999823&rand=789&start=0&limit=10" -H "User-Agent: pan.baidu.com" 

python请求示例

import requests

url = "https://pan.baidu.com/rest/2.0/xpan/soundbox?method=list&clienttype=101&channel=yinxiangserver&access_token=1.a6b7dbd428f731035f771b8d15063f61.86400.8124328&device_id=104771607rs1607808&time=1545999823&rand=789&start=0&limit=10"

payload = {} files = {} headers = { 'Cookie': 'BAIDUID=56BE0870011A115CFA43E19EA4CE92C2:FG=1; BIDUPSID=56BE0870011A115CFA43E19EA4CE92C2; PSTM=1535714267' }

response = requests.request("GET", url, headers=headers, data = payload, files = files)

print(response.text.encode('utf8'))

响应示例

{
  "errmsg": "succ",
  "errno": 0,
  "has_more": 0,
  "list": [
    {
      "album": "",
      "artist": "",
      "ctime": 1546001690,
      "filename": "26. Gigantic Formula.flac",
      "fs_id": 1039269563558843,
      "mtime": 1546002347,
      "path": "/来自:华为路由器/26. Gigantic Formula.flac",
      "size": 26963668,
      "title": ""
    },
    {
      "album": "",
      "artist": "",
      "ctime": 1546001690,
      "filename": "周杰伦 - 最新东风破.mp3",
      "fs_id": 162859824199844,
      "mtime": 1546002347,
      "path": "/百度test/音乐/叶惠美/周杰伦 - 最新东风破.mp3",
      "size": 5050022,
      "title": ""
    }
  ],
  "request_id": "3053359695812786205"
}

错误码说明

错误码描述
42501数目超限

更多错误码:https://www.xnip.cn/shouce/629/47126.html

音频列表diff

接口说明

用于获取播放列表的变动

请求地址

https://pan.baidu.com/rest/2.0/xpan/soundbox?method=diff

请求方法

GET

请求参数

参数类型必需示例值描述
clienttypeint101客户端类型,具体值线下提供,请联系邮箱netdisk-union@baidu.com
channelstringyinxiangserver客户端名称,具体值线下提供,请联系邮箱netdisk-union@baidu.com
randstring26741456防破解参数,计算方法线下提供,请联系邮箱netdisk-union@baidu.com
access_tokenstring1.a6b7dbd428f731035f771b8d15063f61.86400.8124328授权凭证
device_idstring104771607rs1607808设备ID,设备注册接口下发
timestring1545999823请求时间戳,单位秒
cursorstringnulldiff起点,初始值为null

响应参数

参数类型示例描述
listjson array文件列表,每次最多返回500条数据
list[0]["album"]string爱像太平洋专辑名称,可能为空
list[0]["artist"]string任贤齐歌手名称,可能为空
list[0]["title"]string伤心太平洋歌曲名称,可能为空
list[0]["filename"]string伤心太平洋.mp3文件名
has_moreint32是否还有数据,1 还有、0 没有
cursorint32at6hotv57vKrrqIoifFbvH6LvDBeIJoUihueib4kk6NIBbXDFnEFKlayOQ下一次diff的起点
errnoint0错误码

请求示例

curl请求示例

curl "https://pan.baidu.com/rest/2.0/xpan/soundbox?method=diff&clienttype=101&channel=yinxiangserver&access_token=123&device_id=456&time=1545999823&rand=789&diff=null" -H "User-Agent: pan.baidu.com" 

python请求示例

import requests

url = "https://pan.baidu.com/rest/2.0/xpan/soundbox?method=diff&clienttype=101&channel=yinxiangserver&access_token=1.a6b7dbd428f731035f771b8d15063f61.86400.8124328&device_id=104771607rs1607808&time=1545999823&rand=789&cursor=null"

payload = {} files = {} headers = { 'Cookie': 'BAIDUID=56BE0870011A115CFA43E19EA4CE92C2:FG=1; BIDUPSID=56BE0870011A115CFA43E19EA4CE92C2; PSTM=1535714267' }

response = requests.request("GET", url, headers=headers, data = payload, files = files)

print(response.text.encode('utf8'))

响应示例

{
  "cursor": "at6hotv57vKrrqIoifFbvH6LvDBeIJoAAfeXbc9mUspWOhhRzXG4-Zu7_l_Rihueib4kk6NIBbXDFnEFKlayOQ==",
  "errmsg": "succ",
  "errno": 0,
  "has_more": 0,
  "list": [
    {
      "album": "",
      "artist": "",
      "ctime": 1546005446,
      "filename": "Acreix - Visions.mp3",
      "fs_id": 158989214875228,
      "isdelete": 0,
      "mtime": 1546005446,
      "path": "/百度test/音乐/Acreix - Visions.mp3",
      "size": 8062875,
      "title": ""
    },
  ],
  "request_id": "3199522241430307797"
}

获取音频文件播放地址

接口说明

获取音频文件的播放地址,用于播放音频。

请求地址

https://pan.baidu.com/rest/2.0/xpan/soundbox?method=download

请求方法

GET

请求参数

参数类型必需示例值描述
clienttypeint101客户端类型,具体值线下提供,请联系邮箱netdisk-union@baidu.com
channelstringyinxiangserver客户端名称,具体值线下提供,请联系邮箱netdisk-union@baidu.com
randstring26741456防破解参数,计算方法线下提供,请联系邮箱netdisk-union@baidu.com
access_tokenstring1.a6b7dbd428f731035f771b8d15063f61.86400.8124328授权凭证
device_idstring104771607rs1607808设备ID,设备注册接口下发
timestring1545999823请求时间戳,单位秒
fs_iduint64158989214875228文件ID

响应参数

参数类型示例值描述
dlinkstringhttp://d.pcs.baidu.com/file/2667ad73181c52eb672785da879325b4?fid=3389535607-250528-158989214875228&time=1546005822&rt=sh&sign=FDTAERe-DCb740ccc5511e5e8fedcff06b081203-DpSc49gVxrS%2F3lx4XBHPQ29C3IE%3D&expires=8h&dp-logid=0&dp-callid=0&r=92733828&caller=dumi文件下载地址,存在302跳转
errnoint0错误码

请求示例

curl请求示例

curl "https://pan.baidu.com/rest/2.0/xpan/soundbox?method=download&clienttype=101&channel=yinxiangserver&access_token=123&device_id=456&time=1545999823&rand=789&fs_id=158989214875228" -H "User-Agent: pan.baidu.com" 

python请求示例

import requests

url = "https://pan.baidu.com/rest/2.0/xpan/soundbox?clienttype=101&channel=yinxiangserver&access_token=1.a6b7dbd428f731035f771b8d15063f61.86400.8124328&device_id=104771607rs1607808&time=1545999823&rand=789&fs_id=158989214875228&method=download"

payload = {} files = {} headers = { 'Cookie': 'BAIDUID=56BE0870011A115CFA43E19EA4CE92C2:FG=1; BIDUPSID=56BE0870011A115CFA43E19EA4CE92C2; PSTM=1535714267' }

response = requests.request("GET", url, headers=headers, data = payload, files = files)

print(response.text.encode('utf8'))

响应示例

{
  "dlink": "http://d.pcs.baidu.com/file/2667ad73181c52eb672785da879325b4?fid=3389535607-250528-158989214875228&time=1546005822&rt=sh&sign=FDTAERe-DCb740ccc5511e5e8fedcff06b081203-DpSc49gVxrS%2F3lx4XBHPQ29C3IE%3D&expires=8h&dp-logid=0&dp-callid=0&r=92733828&caller=dumi",
  "errmsg": "succ",
  "errno": 0,
  "request_id": "3234634906513265323"
}

错误码说明

错误码描述
42506文件已被删除

更多错误码:https://www.xnip.cn/shouce/629/47126.html