提交 40b60d82 编写于 作者: S SocialSisterYi

添加app端的开屏图片 主题颜色及个性主题的接口

上级 c2d57554
# APP端开屏图片
## 获取APP端开屏图片列表
> http://app.bilibili.com/x/v2/splash/brand/list
*请求方式:GET*
鉴权方式:APP
**url参数:**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ---------- | ----------- | ---- |
| appkey | str | APP密钥 | APP方式必要 | |
| ts | num | 当前时间戳 | APP方式必要 | |
| sign | str | APP签名 | APP方式必要 | |
**json回复:**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ---------------------------------------------------- |
| code | num | 返回值 | 0:成功<br />-3:API校验密匙错误<br />-400:请求错误 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ----- | ------------ | ------------ |
| pull_interval | num | 1800 | 作用尚不明确 |
| forcibly | bool | false | 作用尚不明确 |
| rule | str | order | 作用尚不明确 |
| list | array | 开屏图片列表 | |
| show | array | 默认显示项 | |
`data`中的`list`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------- | ---- |
| 0 | obj | 开屏图片1 | |
| n | obj | 开屏图片(n+1) | |
| …… | obj | …… | …… |
`list`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | --------------------- | ---- |
| id | num | 开屏图片ID | |
| thumb | str | 开屏图片url | |
| logo_url | str | “bilibili”logo图片url | |
`data`中的`show`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ---------- | ---- |
| 0 | obj | 套了个娃? | |
`show`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ---- | ---------- | ------------ |
| id | num | 开屏图片ID | |
| begin_time | num | 起始时间? | 时间戳 |
| end_time | num | 结束时间? | 时间戳 |
| probability | num | 0 | 作用尚不明确 |
| duration | num | 显示时间? | 单位为毫秒 |
**示例:**
```shell
curl -G 'http://app.bilibili.com/x/v2/splash/brand/list'\
--data-urlencode 'appkey=1d8b6e7d45233436'\
--data-urlencode 'ts=0'\
--data-urlencode 'sign=78a89e153cd6231a4a4d55013aa063ce'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"pull_interval": 1800,
"forcibly": false,
"rule": "order",
"list": [
{
"id": 10,
"thumb": "http://i0.hdslb.com/bfs/archive/e2d2f57e08b511d1a47203859f7bddb4ef9d4e16.png",
"logo_url": "http://i0.hdslb.com/bfs/archive/ecc9b29bb4b803daf2a46fe5ef71bf530300162c.png"
},
{
"id": 11,
"thumb": "http://i0.hdslb.com/bfs/archive/fe737da5cdedf9dad038e5fd30e957be8a063bc2.png",
"logo_url": "http://i0.hdslb.com/bfs/archive/ecc9b29bb4b803daf2a46fe5ef71bf530300162c.png"
},
{
"id": 12,
"thumb": "http://i0.hdslb.com/bfs/archive/574469a4a20f41ba4dc9ecd41d15f94eea875ed9.png",
"logo_url": "http://i0.hdslb.com/bfs/archive/ecc9b29bb4b803daf2a46fe5ef71bf530300162c.png"
},
{
"id": 13,
"thumb": "http://i0.hdslb.com/bfs/archive/af0f4f611faa34340bd4f91def1973ccbfb8fbb3.png",
"logo_url": "http://i0.hdslb.com/bfs/archive/ecc9b29bb4b803daf2a46fe5ef71bf530300162c.png"
},
{
"id": 14,
"thumb": "http://i0.hdslb.com/bfs/archive/1d40e975b09d5c87b11b3ae0c9ce6c6b82f63d9e.png",
"logo_url": "http://i0.hdslb.com/bfs/archive/ecc9b29bb4b803daf2a46fe5ef71bf530300162c.png"
}
],
"show": [
{
"id": 12,
"begin_time": 1597564800,
"end_time": 1630753108,
"probability": 0,
"duration": 700
}
]
}
}
```
</details>
如ID=11的图片为:
![]( http://i0.hdslb.com/bfs/archive/fe737da5cdedf9dad038e5fd30e957be8a063bc2.png )
......@@ -158,8 +158,13 @@ PS:所有http协议地址均可使用https,文档中为了统一写作`http`
- [其他](other)
- [基于ip的地理位置查询](other/ip.md)
- [获取当前时间戳](other/time_stamp.md)
- [web端首页组件](web_widget)
- [web端组件](web_widget)
- [分区当日上传数](web_widget/zone_upload.md)
- [APP端组件](APP_widget)
- [开屏图片](APP_widget/splash.md)
- [个性装扮](garb)
- [主题及加载动画](garb/skin.md)
- [主题色](garb/color.md)
B站专栏同步推出[《B站api研究记》](https://www.bilibili.com/read/readlist/rl207146)系列(更新状态:咕咕......),~~欢迎关注~~
......@@ -205,8 +210,12 @@ https://github.com/whjstc/openbilibili-go-common-1
https://github.com/flaribbit/bilibili-manga-spider
https://github.com/simon300000/bili-api
成品:
https://github.com/3Shain/BiliChat
https://github.com/AncientLysine/BiliLocal
https://github.com/zyzsdy/biliroku
......@@ -225,6 +234,10 @@ https://github.com/Tsuk1ko/bilibili-live-chat
https://github.com/ironmanic/crawler_target_users_good
https://github.com/dd-center/DDatElectron
https://github.com/dd-center/vtbs.moe
其他:
https://github.com/kuresaru/geetest-validator
......
# 主题色
## 获取主题色基本信息1
> http://club.bilibili.com/api/query.skin.list.do
*请求方式:GET*
鉴权方式:appkey
认证方式:仅可APP
**url参数:**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------ | ----------- | ------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| appkey | str | APP密钥 | APP方式必要 | |
| build | num | 版本 | APP方式必要 | 可为`6082000` |
| sign | str | APP签名 | APP方式必要 | |
**json回复:**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ----- | ------------ | ---------------------------------------------------- |
| ts | num | 当前时间戳 | |
| code | num | 返回值 | 0:成功<br />-3:API校验密匙错误<br />-400:请求错误 |
| data | array | 主题颜色列表 | |
`data`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------- | ---- |
| 0 | obj | 主题颜色1 | |
| n | obj | 主题颜色(n+1) | |
| …… | obj | …… | …… |
`data`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ---- | ------------ | ------------------------------- |
| id | num | 颜色ID | |
| name | str | 颜色名称 | |
| is_free | bool | 是否免费 | false:收费<br />true:免费 |
| price | num | 价格 | 单位为硬币 |
| is_bought | bool | 是否已购买 | false:未购买<br />true:已购买 |
| status | num | 状态 | 1:自动续费<br />4:已退订 |
| buy_time | num | 购买时间 | 毫秒时间戳 |
| due_time | num | 到期时间 | 毫秒时间戳 |
| color_name | str | 颜色类型名称 | |
| is_overdue | bool | 是否已到期 | false:未到期<br />true:已到期 |
**示例:**
```shell
curl -G 'http://club.bilibili.com/api/query.skin.list.do'\
--data-urlencode 'access_key=xxx'\
--data-urlencode 'appkey=1d8b6e7d45233436'\
--data-urlencode 'build=6082000'\
--data-urlencode 'sign=2d37f2cd6f86337a6a07cb3cf311be86'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"ts": 1599225638239,
"code": 0,
"data": [
{
"id": 2,
"name": "少女粉",
"is_free": true,
"price": 0,
"is_bought": false,
"color_name": "pink",
"is_overdue": false
},
{
"id": 1,
"name": "夜间模式",
"is_free": true,
"price": 0,
"is_bought": false,
"color_name": "black",
"is_overdue": false
},
{
"id": 3,
"name": "姨妈红",
"is_free": false,
"price": 5,
"is_bought": false,
"color_name": "red",
"is_overdue": false
},
{
"id": 4,
"name": "咸蛋黄",
"is_free": false,
"price": 5,
"is_bought": false,
"color_name": "yellow",
"is_overdue": false
},
{
"id": 5,
"name": "早苗绿",
"is_free": false,
"price": 5,
"is_bought": false,
"status": 4,
"buy_time": 1599219782000,
"due_time": 1601811782000,
"color_name": "green",
"is_overdue": false
},
{
"id": 6,
"name": "胖次蓝",
"is_free": false,
"price": 5,
"is_bought": false,
"color_name": "blue",
"is_overdue": false
},
{
"id": 7,
"name": "基佬紫",
"is_free": false,
"price": 5,
"is_bought": false,
"color_name": "purple",
"is_overdue": false
}
]
}
```
</details>
## 获取主题色基本信息2
> http://api.bilibili.com/x/garb/skin/color/list
*请求方式:GET*
认证方式:仅可Cookie
**url参数:**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| -------- | ---- | -------- | ------ | ------------- |
| mobi_app | str | 平台标识 | 非必要 | 可为`android` |
| build | num | 版本 | 非必要 | 可为`6082000` |
**json回复:**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ----- | ------------ | ---------------------------------------------------- |
| code | num | 返回值 | 0:成功<br />-3:API校验密匙错误<br />-400:请求错误 |
| message | str | 错误信息 | 默认为0 |
| data | array | 主题颜色列表 | |
`data`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------- | ---- |
| 0 | obj | 主题颜色1 | |
| n | obj | 主题颜色(n+1) | |
| …… | obj | …… | …… |
`data`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ---- | ------------ | ------------------------------- |
| id | num | 颜色ID | |
| name | str | 颜色名称 | |
| is_free | bool | 是否免费 | false:收费<br />true:免费 |
| price | num | 价格 | 单位为硬币 |
| is_bought | bool | 是否已购买 | false:未购买<br />true:已购买 |
| status | num | 状态 | 1:自动续费<br />4:已退订 |
| buy_time | num | 购买时间 | 毫秒时间戳 |
| due_time | num | 到期时间 | 毫秒时间戳 |
| color_name | str | 颜色类型名称 | |
| is_overdue | bool | 是否已到期 | false:未到期<br />true:已到期 |
**示例:**
```shell
curl -G 'http://api.bilibili.com/x/garb/skin/color/list'\
--data-urlencode 'mobi_app=android'\
--data-urlencode 'build=6082000'\
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": [
{
"id": 8,
"name": "简洁白",
"is_free": true,
"price": 0,
"is_bought": false,
"status": 0,
"buy_time": 0,
"due_time": 0,
"color_name": "white",
"is_overdue": false
},
{
"id": 2,
"name": "少女粉",
"is_free": true,
"price": 0,
"is_bought": false,
"status": 0,
"buy_time": 0,
"due_time": 0,
"color_name": "pink",
"is_overdue": false
},
{
"id": 1,
"name": "夜间模式",
"is_free": true,
"price": 0,
"is_bought": false,
"status": 0,
"buy_time": 0,
"due_time": 0,
"color_name": "black",
"is_overdue": false
},
{
"id": 3,
"name": "姨妈红",
"is_free": false,
"price": 5,
"is_bought": false,
"status": 0,
"buy_time": 0,
"due_time": 0,
"color_name": "red",
"is_overdue": false
},
{
"id": 4,
"name": "咸蛋黄",
"is_free": false,
"price": 5,
"is_bought": false,
"status": 0,
"buy_time": 0,
"due_time": 0,
"color_name": "yellow",
"is_overdue": false
},
{
"id": 5,
"name": "早苗绿",
"is_free": false,
"price": 5,
"is_bought": false,
"status": 4,
"buy_time": 1599219782000,
"due_time": 1601811782000,
"color_name": "green",
"is_overdue": false
},
{
"id": 6,
"name": "胖次蓝",
"is_free": false,
"price": 5,
"is_bought": false,
"status": 0,
"buy_time": 0,
"due_time": 0,
"color_name": "blue",
"is_overdue": false
},
{
"id": 7,
"name": "基佬紫",
"is_free": false,
"price": 5,
"is_bought": false,
"status": 0,
"buy_time": 0,
"due_time": 0,
"color_name": "purple",
"is_overdue": false
}
]
}
```
</details>
\ No newline at end of file
# 主题及加载动画
## 获取主题及加载动画
> http://app.bilibili.com/x/resource/show/skin
*请求方式:GET*
鉴权方式:appkey
认证方式:仅可APP
**url参数:**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------ | ----------- | ------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| appkey | str | APP密钥 | APP方式必要 | |
| build | num | 版本 | APP方式必要 | 可为`6082000` |
| ts | num | 当前时间戳 | APP方式必要 | 可为`0` |
| sign | str | APP签名 | APP方式必要 | |
**json回复:**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ---------------------------------------------------- |
| code | num | 返回值 | 0:成功<br />-3:API校验密匙错误<br />-400:请求错误 |
| message | str | 错误信息 | 默认为0 |
| data | obj | 信息本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ----- | ------------ | ------------ |
| user_equip | obj | 个性主题信息 | 有效时有此项 |
| skin_colors | array | 主题颜色列表 | |
| load_equip | obj | 加载动画信息 | 有效时有此项 |
`data`中的`user_equip`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ---- | --------------- | ------ |
| id | num | 装扮ID | |
| name | str | 装扮名称 | |
| preview | str | 装扮封面url | |
| ver | num | 装扮版本 | 时间戳 |
| package_url | str | 装扮包url | |
| package_md5 | str | 装扮包md5校验值 | |
| data | obj | 装扮配置 | |
`user_equip`中的`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------------- | ---- | -------------- | --------------------------- |
| color_mode | str | 颜色模式 | light:亮色<br />dark:暗色 |
| color | str | 前景色? | |
| color_second_page | str | 背景色? | |
| side_bg_color | str | ? | |
| tail_color | str | 底边栏颜色? | |
| tail_color_selected | str | ? | |
| tail_icon_ani | bool | 有无底边栏动画 | false:无<br />true:有 |
| tail_icon_ani_mode | str | once | 作用尚不明确 |
`skin_colors`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------- | ---- |
| 0 | obj | 主题颜色1 | |
| n | obj | 主题颜色(n+1) | |
| …… | obj | …… | …… |
`skin_colors`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ---- | ------------ | ------------------------------- |
| id | num | 颜色ID | |
| name | str | 颜色名称 | |
| is_free | bool | 是否免费 | false:收费<br />true:免费 |
| price | num | 价格 | 单位为硬币 |
| is_bought | bool | 是否已购买 | false:未购买<br />true:已购买 |
| status | num | 状态 | 1:自动续费<br />4:已退订 |
| buy_time | num | 购买时间 | 毫秒时间戳 |
| due_time | num | 到期时间 | 毫秒时间戳 |
| color_name | str | 颜色类型名称 | |
| is_overdue | bool | 是否已到期 | false:未到期<br />true:已到期 |
`data`中的`load_equip`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ---- | --------------- | ------ |
| id | num | 装扮ID | |
| name | str | 装扮名称 | |
| ver | num | 装扮版本 | 时间戳 |
| loading_url | str | 加载动画图标url | |
**示例:**
```shell
curl -G 'http://app.bilibili.com/x/resource/show/skin'\
--data-urlencode 'access_key=xxx'\
--data-urlencode 'appkey=1d8b6e7d45233436'\
--data-urlencode 'build=6082000'\
--data-urlencode 'ts=0'\
--data-urlencode 'sign=ea212fea5b00a6278ea6d9938b4c500e'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"user_equip": {
"id": 2529,
"name": "初音未来-日版",
"preview": "http://i0.hdslb.com/bfs/garb/item/2fa16380b31b3cee6c889d645f2699de8e9d9faf.jpg",
"ver": 1598600025,
"package_url": "http://i0.hdslb.com/bfs/garb/zip/9c393edea0c7b7b59685a20cd655363ef573a325.zip",
"package_md5": "7b6d20d998ad543c6a275948a6a1a5fe",
"data": {
"color_mode": "light",
"color": "#212121",
"color_second_page": "#fff2d2",
"side_bg_color": "#ffe7ae",
"tail_color": "#996c00",
"tail_color_selected": "#0d6872",
"tail_icon_ani": true,
"tail_icon_ani_mode": "once"
}
},
"skin_colors": [
{
"id": 2,
"name": "少女粉",
"is_free": true,
"color_name": "pink"
},
{
"id": 1,
"name": "夜间模式",
"is_free": true,
"color_name": "black"
},
{
"id": 3,
"name": "姨妈红",
"price": 5,
"color_name": "red"
},
{
"id": 4,
"name": "咸蛋黄",
"price": 5,
"color_name": "yellow"
},
{
"id": 5,
"name": "早苗绿",
"price": 5,
"status": 4,
"buy_time": 1599219782000,
"due_time": 1601811782000,
"color_name": "green"
},
{
"id": 6,
"name": "胖次蓝",
"price": 5,
"color_name": "blue"
},
{
"id": 7,
"name": "基佬紫",
"price": 5,
"color_name": "purple"
}
],
"load_equip": {
"id": 2531,
"name": "初音未来13周年",
"ver": 1598602035,
"loading_url": "http://i0.hdslb.com/bfs/garb/item/9b12e8b5cc16a4c2e71e91c43796f09d5e132847.webp"
}
}
}
```
</details>
\ No newline at end of file
......@@ -17,13 +17,13 @@ Token有效期为1月,更改密码或过期失效
## APP方式(手机客户端及TV端等)
| 参数 | 含义 | 备注 |
| ------------- | ---------------- | -------------- |
| appkey | APP密钥 | |
| ts | 当前时间戳 | |
| sign | APP签名 | |
| access_key | APP登录Token | |
| refresh_token | APP刷新登录Token | 仅在刷新时使用 |
| 参数 | 含义 | 备注 |
| ------------- | ---------------- | ---------------------- |
| access_key | APP登录Token | 注意必须在第一个参数 |
| appkey | APP密钥 | |
| refresh_token | APP刷新登录Token | 仅在刷新时使用 |
| ts | 当前时间戳 | |
| sign | APP签名 | 注意必须在最后一个参数 |
**接口鉴权:**
......@@ -33,18 +33,20 @@ Token有效期为1月,更改密码或过期失效
已知的appkey与签名:
| appkey | appsec(sign盐值) | 来源 | 备注 |
| ---------------- | -------------------------------- | ------------ | -------- |
| 07da50c9a0bf829f | 75d35aa5c06fb46e40059a6a5bf671a6 | 安卓概念版 | |
| 1d8b6e7d45233436 | 560c52ccd288fed045859ed18bffd973 | 安卓端 | 一般用途 |
| 37207f2beaebf8d7 | e988e794d4d4b6dd43bc0e89d6e90c43 | 安卓biliLink | |
| 4409e2ce8ffd12b8 | 59b43e04ad6965f34319062b478f83dd | TV端 | |
| 85eb6835b0a1034e | 2ad42749773c441109bdc0191257a664 | | |
| bb3101000e232e27 | 36efcfed79309338ced0380abd824ac1 | | |
| bca7e84c2d947ac6 | | 安卓端 | 登录专用 |
| cc578d267072c94d | | 轻视频 | |
| cc8617fd6961e070 | | 漫画 | |
| iVGUTjsxvpLeuDCf | aHRmhWMLkdeMuILqORnYZocwMBpMEOdt | 安卓端 | 取流专用 |
| appkey | appsec(sign盐值) | 平台 | 应用 | 备注 |
| ---------------- | -------------------------------- | ---- | -------- | -------- |
| 07da50c9a0bf829f | 75d35aa5c06fb46e40059a6a5bf671a6 | 安卓 | 概念版 | |
| 1d8b6e7d45233436 | 560c52ccd288fed045859ed18bffd973 | 安卓 | 客户端 | 一般用途 |
| 37207f2beaebf8d7 | e988e794d4d4b6dd43bc0e89d6e90c43 | 安卓 | biliLink | |
| 4409e2ce8ffd12b8 | 59b43e04ad6965f34319062b478f83dd | TV | 客户端 | |
| 5dce947fe22167f9 | | 安卓 | 必剪 | |
| 85eb6835b0a1034e | 2ad42749773c441109bdc0191257a664 | | | |
| aae92bc66f3edfab | af125a0d5279fd576c1b4418a3e8276d | PC | 投稿工具 | |
| bb3101000e232e27 | 36efcfed79309338ced0380abd824ac1 | | | |
| bca7e84c2d947ac6 | | 安卓 | 客户端 | 登录专用 |
| cc578d267072c94d | | 安卓 | 轻视频 | |
| cc8617fd6961e070 | | 安卓 | 漫画 | |
| iVGUTjsxvpLeuDCf | aHRmhWMLkdeMuILqORnYZocwMBpMEOdt | 安卓 | 客户端 | 取流专用 |
例如:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册