Skip to content

Commit cba2ea4

Browse files
authored
Fix bruno (#1065)
* upgrade bruno to v3 * bump version to 4.0.0 and update changelog for bruno upgrade * add default.yml configuration for environment variables * Update passport APIs * Refactor passport APIs * Refactor APIs * Refactor APIs * remove legacy APIs * Add wbi script * Update bruno doc * Add response sample * Update change log
1 parent f728027 commit cba2ea4

95 files changed

Lines changed: 6929 additions & 1459 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## 4.0.0
2+
- 升级bruno到v3
3+
- bruno实现APP的sign签名算法和Web的WBI签名算法
14
## 3.8.2
25
- Fix[#1026]: 更新文档
36
## 3.8.1

bruno/.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Secrets
2+
.env
3+
4+
# Dependencies
5+
node_modules
6+
7+
# OS files
8+
.DS_Store
9+
Thumbs.db

bruno/api.bilibili.com/folder.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
info:
2+
name: api.bilibili.com
3+
type: folder
4+
seq: 3
5+
6+
request:
7+
variables:
8+
- name: host
9+
value: https://api.bilibili.com
10+
scripts:
11+
- type: before-request
12+
code: |-
13+
// Shared sign utility — see lib/sign.js
14+
const { signRequest } = require('./lib/sign');
15+
signRequest(req, bru);
16+
17+
// WBI signing — see lib/wbi.js
18+
const { signWbi } = require('./lib/wbi');
19+
await signWbi(req, bru);
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
info:
2+
name: receive
3+
type: http
4+
seq: 1
5+
6+
http:
7+
method: POST
8+
url: "{{host}}/pgc/activity/deliver/material/receive"
9+
headers:
10+
- name: buvid
11+
value: "{{buvid}}"
12+
- name: fp_local
13+
value: "{{device_id}}"
14+
- name: fp_remote
15+
value: "{{device_id}}"
16+
- name: session_id
17+
value: e04d2e05
18+
- name: env
19+
value: prod
20+
- name: app-key
21+
value: android64
22+
- name: user-agent
23+
value: "{{user-agent}}"
24+
- name: x-bili-trace-id
25+
value: 0564afa825e0e1ec59164fe59367755a:59164fe59367755a:0:0
26+
- name: x-bili-aurora-eid
27+
value: UlAAQFkMBVkH
28+
- name: x-bili-mid
29+
value: "{{mid}}"
30+
- name: x-bili-aurora-zone
31+
value: ""
32+
- name: x-bili-gaia-vtoken
33+
value: ""
34+
- name: x-bili-ticket
35+
value: eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzU3NzI2NDcsImlhdCI6MTczNTc0MzU0NywiYnV2aWQiOiJYVzcyNEQxNzI0Njg3MTlDQzI1NjA1REIyNDI0NzhEMkUxMjE5In0.eafhpooLoe2q6cA45_Xrgq1VO-y490pxP5gwJ4qm_ik
36+
- name: bili-http-engine
37+
value: cronet
38+
- name: Cookie
39+
value: "{{cookieStr}}"
40+
body:
41+
type: form-urlencoded
42+
data:
43+
- name: activity_code
44+
value: ""
45+
- name: appkey
46+
value: "{{appKey}}"
47+
- name: build
48+
value: "{{build}}"
49+
- name: c_locale
50+
value: zh_CN
51+
- name: channel
52+
value: bili
53+
- name: disable_rcmd
54+
value: "0"
55+
- name: ep_id
56+
value: "328482"
57+
- name: from_spmid
58+
value: activity.h5.0.0
59+
- name: mobi_app
60+
value: android
61+
- name: platform
62+
value: android
63+
- name: s_locale
64+
value: zh_CN
65+
- name: season_id
66+
value: "12548"
67+
- name: spmid
68+
value: united.player-video-detail.0.0
69+
- name: statistics
70+
value: "{{statistics}}"
71+
- name: ts
72+
value: "{{ts}}"
73+
- name: sign
74+
value: "{{sign}}"
75+
- name: access_key
76+
value: "{{access_key}}"
77+
78+
settings:
79+
encodeUrl: true
80+
timeout: 0
81+
followRedirects: true
82+
maxRedirects: 5
83+
84+
docs: |-
85+
终端:APP
86+
87+
作用:开始大会员赚大积分任务-观看剧集内容
88+
89+
入口:
90+
- 我的->会员中心->赚大积分->查看8项任务,点击“观看剧集内容”,选择视频后触发
91+
92+
传入剧集的id,会返回task_id和token,用于标识该次观看任务
93+
94+
该sample的视频为《让子弹飞》
95+
96+
完整的观看剧集内容任务调用接口如下:
97+
98+
- 领取:app.bilibili.com/pgc/activity/score/task/receive/v2
99+
- 开始:app.bilibili.com/pgc/activity/deliver/material/receive
100+
- 上报完成:app.bilibili.com/pgc/activity/deliver/task/complete
101+
102+
Response Sample:
103+
104+
```json
105+
{
106+
"code": 0,
107+
"data": {
108+
"closeType": "close_win",
109+
"container": [],
110+
"showTime": "",
111+
"watch_count_down_cfg": {
112+
"action": "url",
113+
"closeType": "close_win",
114+
"complete_status_desc": "大积分已到账",
115+
"complete_status_jump_url": "https://big.bilibili.com/mobile/bigPoint?navhide=1&closable=1",
116+
"count_down_status_desc": "看${time}获大积分",
117+
"login": true,
118+
"milliseconds": 600000,
119+
"pause_status_desc": "计时暂停",
120+
"showTime": "ENTER",
121+
"task_id": "4320003",
122+
"token": "67ba5888e7"
123+
}
124+
},
125+
"message": "success"
126+
}
127+
```
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
info:
2+
name: complete-ogv
3+
type: http
4+
seq: 2
5+
6+
http:
7+
method: POST
8+
url: "{{host}}/pgc/activity/deliver/task/complete"
9+
headers:
10+
- name: buvid
11+
value: "{{buvid}}"
12+
- name: fp_local
13+
value: "{{device_id}}"
14+
- name: fp_remote
15+
value: "{{device_id}}"
16+
- name: session_id
17+
value: e04d2e05
18+
- name: env
19+
value: prod
20+
- name: app-key
21+
value: android64
22+
- name: user-agent
23+
value: "{{user-agent}}"
24+
- name: x-bili-trace-id
25+
value: a301946d9621645a707b40973f67755c:707b40973f67755c:0:0
26+
- name: x-bili-aurora-eid
27+
value: UlAAQFkMBVkH
28+
- name: x-bili-mid
29+
value: "{{mid}}"
30+
- name: x-bili-aurora-zone
31+
value: ""
32+
- name: x-bili-gaia-vtoken
33+
value: ""
34+
- name: x-bili-ticket
35+
value: eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzU3NzI2NDcsImlhdCI6MTczNTc0MzU0NywiYnV2aWQiOiJYVzcyNEQxNzI0Njg3MTlDQzI1NjA1REIyNDI0NzhEMkUxMjE5In0.eafhpooLoe2q6cA45_Xrgq1VO-y490pxP5gwJ4qm_ik
36+
- name: bili-http-engine
37+
value: cronet
38+
- name: Cookie
39+
value: "{{cookieStr}}"
40+
body:
41+
type: form-urlencoded
42+
data:
43+
- name: build
44+
value: "{{build}}"
45+
- name: c_locale
46+
value: zh_CN
47+
- name: channel
48+
value: bili
49+
- name: disable_rcmd
50+
value: "0"
51+
- name: mobi_app
52+
value: android
53+
- name: platform
54+
value: android
55+
- name: s_locale
56+
value: zh_CN
57+
- name: statistics
58+
value: "{{statistics}}"
59+
- name: access_key
60+
value: "{{access_key}}"
61+
- name: ts
62+
value: "{{ts}}"
63+
- name: sign
64+
value: "{{sign}}"
65+
- name: appkey
66+
value: "{{appKey}}"
67+
- name: task_id
68+
value: "4320003"
69+
- name: task_sign
70+
value: 95cbef871100151e526fa5580534a364
71+
- name: timestamp
72+
value: "1748884714621"
73+
- name: token
74+
value: 67ba5888e7
75+
76+
settings:
77+
encodeUrl: true
78+
timeout: 0
79+
followRedirects: true
80+
maxRedirects: 5
81+
82+
docs: |-
83+
终端:APP
84+
85+
作用:上报完成大会员赚大积分任务-观看剧集内容
86+
87+
入口:
88+
- 我的->会员中心->赚大积分->查看8项任务,点击“观看剧集内容”,挑选视频,观看10分钟后,自动触发
89+
90+
传入剧集的id,会返回task_id和token,用于标识该次观看任务
91+
92+
task_sign必传,与sign的生成方式相同。即,先排除掉task_sign和sign,生成签名后赋值给task_sign,然后在签名一次得到sign
93+
94+
且只能调用成功一次,第二次及之后会返回400
95+
96+
完整的观看剧集内容任务调用接口如下:
97+
98+
- 领取:app.bilibili.com/pgc/activity/score/task/receive/v2
99+
- 开始:app.bilibili.com/pgc/activity/deliver/material/receive
100+
- 上报完成:app.bilibili.com/pgc/activity/deliver/task/complete
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
info:
2+
name: complete
3+
type: http
4+
seq: 1
5+
6+
http:
7+
method: POST
8+
url: "{{host}}/pgc/activity/deliver/task/complete"
9+
headers:
10+
- name: buvid
11+
value: "{{buvid}}"
12+
- name: fp_local
13+
value: "{{device_id}}"
14+
- name: fp_remote
15+
value: "{{device_id}}"
16+
- name: session_id
17+
value: e04d2e05
18+
- name: env
19+
value: prod
20+
- name: app-key
21+
value: android64
22+
- name: user-agent
23+
value: "{{user-agent}}"
24+
- name: x-bili-trace-id
25+
value: a301946d9621645a707b40973f67755c:707b40973f67755c:0:0
26+
- name: x-bili-aurora-eid
27+
value: UlAAQFkMBVkH
28+
- name: x-bili-mid
29+
value: "{{mid}}"
30+
- name: x-bili-aurora-zone
31+
value: ""
32+
- name: x-bili-gaia-vtoken
33+
value: ""
34+
- name: x-bili-ticket
35+
value: eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzU3NzI2NDcsImlhdCI6MTczNTc0MzU0NywiYnV2aWQiOiJYVzcyNEQxNzI0Njg3MTlDQzI1NjA1REIyNDI0NzhEMkUxMjE5In0.eafhpooLoe2q6cA45_Xrgq1VO-y490pxP5gwJ4qm_ik
36+
- name: bili-http-engine
37+
value: cronet
38+
- name: Cookie
39+
value: "{{cookieStr}}"
40+
body:
41+
type: form-urlencoded
42+
data:
43+
- name: build
44+
value: "{{build}}"
45+
- name: c_locale
46+
value: zh_CN
47+
- name: channel
48+
value: bili
49+
- name: disable_rcmd
50+
value: "0"
51+
- name: mobi_app
52+
value: android
53+
- name: platform
54+
value: android
55+
- name: s_locale
56+
value: zh_CN
57+
- name: statistics
58+
value: "{{statistics}}"
59+
- name: access_key
60+
value: "{{access_key}}"
61+
- name: ts
62+
value: "{{ts}}"
63+
- name: sign
64+
value: "{{sign}}"
65+
- name: appkey
66+
value: "{{appKey}}"
67+
- name: position
68+
value: tv_channel
69+
- name: win_id
70+
value: bigscore-filmtab
71+
72+
settings:
73+
encodeUrl: true
74+
timeout: 0
75+
followRedirects: true
76+
maxRedirects: 5
77+
78+
docs: |
79+
终端:APP
80+
81+
作用:上报完成大会员赚大积分任务-浏览追番频道页、浏览影视频道页(观看剧集内容接口相同,但入参不同,在另一个接口)
82+
83+
入口:
84+
- 我的->会员中心->赚大积分->查看8项任务,点击跳转后,自动触发
85+
86+
完整的观看剧集内容任务调用接口如下:
87+
88+
- 领取:app.bilibili.com/pgc/activity/score/task/receive/v2
89+
- 上报完成:app.bilibili.com/pgc/activity/deliver/task/complete
90+
91+
入参position:
92+
93+
- animatetab: jp_channel
94+
- filmtab: tv_channel
95+
96+
## Response Sample
97+
98+
```json
99+
{
100+
"code": 0,
101+
"message": "success"
102+
}
103+
```

0 commit comments

Comments
 (0)