XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/bilibili-API-collect

添加【关注列表】排序参数 添加【互动弹幕获取】相关接口

92de823
SocialSisterYi <45892418+SocialSisterYi@users.noreply.github.com>
提交于

代码差异

5 个文件 +375 -55
Modified README.md +3 -2
@@ -72,8 +72,8 @@ PS:所有http协议地址均可使用https,文档中为了统一写作`http`
72 72 - 状态数
73 73 - 操作
74 74 - [视频弹幕](danmaku)
75 - [protobuf实时弹幕](danmaku/danmaku_proto.md)×
76 - protobuf云推荐弹幕
75 - [protobuf实时弹幕](danmaku/danmaku_proto.md)√
76 - [protobuf弹幕元数据(BAS弹幕/互动弹幕)](danmaku/danmaku_view.md)√
77 77 - [xml实时弹幕](danmaku/danmaku_xml.md)√
78 78 - [xml历史弹幕](danmaku/history.md)√
79 79 - [快照](danmaku/snapshot.md)√
@@ -81,6 +81,7 @@ PS:所有http协议地址均可使用https,文档中为了统一写作`http`
81 81 - 高级弹幕
82 82 - 屏蔽管理
83 83 - 智能防挡弹幕
84 - 弹幕个人配置修改
84 85 - [专栏](article)
85 86 - 分区
86 87 - [基本信息](article/info.md)×
Modified danmaku/action.md +15 -2
@@ -8,12 +8,16 @@
8 8
9 9 认证方式:Cookie(SESSDATA)或APP
10 10
11 此接口与漫画弹幕相同
12
13 `mode=6`的逆向弹幕与`mode=8`的代码弹幕不可发送
14
11 15 **正文参数( application/x-www-form-urlencoded ):**
12 16
13 17 | 参数名 | 类型 | 内容 | 必要性 | 备注 |
14 18 | ---------- | ---- | ------------------------ | -------------- | ------------------------------------------------------------ |
15 19 | access_key | str | APP登录Token | APP方式必要 | |
16 | type | num | 1 | 必要 | |
20 | type | num | 弹幕类选择 | 必要 | 1:视频弹幕 |
17 21 | oid | num | 视频CID | 必要 | |
18 22 | msg | str | 弹幕内容 | 必要 | 长度小于100字符 |
19 23 | bvid | str | 视频bvID | 必要(可选) | avID与bvID任选一个 |
@@ -115,7 +119,7 @@ curl 'http://api.bilibili.com/x/v2/dm/post'\
115 119 | dmid | num | 修改互动弹幕的弹幕ID | 非必要 | 注:修改弹幕`plat`必须为8 |
116 120 | csrf | str | CSRF Token(位于cookie) | Cookie方式必要 | |
117 121
118 `data`参数:
122 `data`参数json序列:
119 123
120 124 类型为【UP主头像弹幕】时:
121 125
@@ -179,6 +183,15 @@ curl 'http://api.bilibili.com/x/v2/dm/post'\
179 183 | title | str | 关联视频的标题 | |
180 184 | bvid | str | 关联视频的bvID | |
181 185
186 类型为【视频内嵌引导关注按钮】时:
187
188 | 字段 | 类型 | 内容 | 备注 |
189 | -------- | ---- | ----------- | ---------------------------------- |
190 | duration | num | 持续时间 | 单位为毫秒 |
191 | posX | num | X坐标 | 区间:[118-549] |
192 | posY | num | Y坐标 | 区间:[82-293] |
193 | icon | str | 按钮图片url | 不应该是关注按钮吗,但这个是圆形的 |
194
182 195 **示例:**
183 196
184 197 为视频`av201947622`(CID为`230709860`)的5000ms位置发送一条UP主头像弹幕`test`
Modified danmaku/danmaku_proto.md +49 -37
@@ -14,7 +14,9 @@
14 14
15 15 此接口与漫画弹幕相同
16 16
17 只能返回普通和高级弹幕,代码(BAS)弹幕请从云推荐弹幕中获取
17 只能返回普通弹幕(`pool=1` `mode=1-7`)和代码弹幕(`pool=2` `mode=8`),BAS弹幕(`pool=2` `mode=9`)请从[弹幕元数据](danmaku_view_proto.md)中获取
18
19 互动弹幕(UP主头像弹幕、关联视频、内嵌关注按钮)也不存在这个接口,请从[弹幕元数据](danmaku_view_proto.md)中获取
18 20
19 21 **注:仅获取6min的整数倍时间内的弹幕,6min内最多弹幕数为6000条(如第一包中弹幕`progress`值域为0-360000)**
20 22
@@ -22,31 +24,35 @@
22 24
23 25 | 参数名 | 类型 | 内容 | 必要性 | 备注 |
24 26 | ------------- | ---- | -------- | ------ | ----------- |
25 | type | num | 弹幕分类 | 必要 | 1:视频弹幕 |
27 | type | num | 弹幕类 | 必要 | 1:视频弹幕 |
26 28 | oid | num | 视频CID | 必要 | |
27 29 | pid | num | 视频avID | 非必要 | |
28 30 | segment_index | num | 分包 | 必要 | 6分钟一包 |
29 31
30 **回复:**
32 **proto回复:**
31 33
32 返回二进制数据,需要自行解析
34 消息`DmSegMobileReply`:
33 35
34 **示例:**
36 | 名称 | 类型 | 含义 | 备注 |
37 | ----- | ---------------- | -------- | ---- |
38 | elems | repeated message | 弹幕条目 | |
35 39
36 获取视频`av810872(CID=1176840)`的实时弹幕分段`1`
40 消息`DanmakuElem`:
37 41
38 ```shell
39 curl -G 'http://api.bilibili.com/x/v2/dm/web/seg.so'\
40 -o 'danmaku.bin'
41 ```
42
43 响应正文为protubuf二进制数据
44
45 ## 弹幕格式
42 | 名称 | 类型 | 含义 | 备注 |
43 | -------- | ------ | ------------------ | ------------------------------------------------------------ |
44 | id | int64 | 弹幕dmID | 唯一 可用于操作参数 |
45 | progress | int32 | 视频内弹幕出现时间 | 毫秒 |
46 | mode | int32 | 弹幕类型 | 1 2 3:普通弹幕<br />4:底部弹幕<br />5:顶部弹幕<br />6:逆向弹幕<br />7:高级弹幕<br />8:代码弹幕<br />~~9:BAS弹幕~~ |
47 | fontsize | int32 | 弹幕字号 | 18:小<br />25:标准<br />36:大 |
48 | color | uint32 | 弹幕颜色 | 十进制RGB888值 |
49 | midHash | string | 发送者UID的HASH | 用于屏蔽用户和查看用户发送的所有弹幕 也可反查用户ID |
50 | content | string | 弹幕内容 | utf-8编码 |
51 | ctime | int64 | 弹幕发送时间 | 时间戳 |
52 | weight | int32 | 权重 | 用于智能屏蔽,根据弹幕语义及长度通过AI识别得出<br />范围:[0-10]<br />值越大权重越高 |
53 | action | string | 动作? | 作用尚不明确 |
54 | pool | int32 | 弹幕池 | 0:普通池<br />1:字幕池<br />2:特殊池(代码/BAS弹幕) |
55 | idStr | string | 弹幕dmID | 字串形式<br />唯一 可用于操作参数 |
46 56
47 57 protobuf结构体:
48 58
@@ -65,30 +71,30 @@ message DanmakuElem {
65 71 string content = 7; //弹幕内容
66 72 int64 ctime = 8; //发送时间
67 73 int32 weight = 9; //权重
68 string action = 10; //动作
74 string action = 10; //动作?
69 75 int32 pool = 11; //弹幕池
70 string idStr = 12; //弹幕dmID
76 string idStr = 12; //弹幕dmID(字串形式)
71 77 }
72 78
73 79 message DmSegMobileReply {
74 repeated DanmakuElem elems = 1;
80 repeated DanmakuElem elems = 1; //弹幕条目
75 81 }
76 82 ```
77 83
78 | 名称 | 含义 | 类型 | 备注 |
79 | -------- | -------------------- | ------ | ------------------------------------------------------------ |
80 | id | 弹幕dmID | int64 | 唯一 可用于操作参数 |
81 | progress | 视频内弹幕出现时间 | int32 | 毫秒 |
82 | mode | 弹幕类型 | int32 | 1 2 3:普通弹幕<br />4:底部弹幕<br />5:顶部弹幕<br />6:逆向弹幕<br />7:高级弹幕<br />8:代码弹幕<br />9:BAS弹幕 |
83 | fontsize | 弹幕字号 | int32 | 18:小<br />25:标准<br />36:大 |
84 | color | 弹幕颜色 | uint32 | 十进制RGB888值 |
85 | midHash | 发送者UID的HASH | string | 用于屏蔽用户和查看用户发送的所有弹幕 也可反查用户ID |
86 | content | 弹幕内容 | string | utf-8编码 |
87 | ctime | 弹幕发送时间 | int64 | 时间戳 |
88 | weight | 权重 | int32 | 用于智能屏蔽级别 |
89 | action | 动作 | string | 未知 |
90 | pool | 弹幕池 | int32 | 0:普通池<br />1:字幕池<br />2:特殊池(代码/BAS弹幕) |
91 | idStr | 弹幕dmID的字符串类型 | string | 唯一 可用于操作参数 |
84 **示例:**
85
86 获取视频`av810872(CID=1176840)`的实时弹幕分包1
87
88 ```shell
89 curl -G 'http://api.bilibili.com/x/v2/dm/web/seg.so'\
90 --data-urlencode 'type=1'\
91 --data-urlencode 'oid=1176840'\
92 --data-urlencode 'pid=810872'\
93 --data-urlencode 'segment_index=1'\
94 -o 'danmaku.bin'
95 ```
96
97 响应正文为protubuf二进制数据
92 98
93 99 ## 实例
94 100
@@ -104,15 +110,21 @@ protoc --python_out=. bilidm.proto
104 110
105 111 ---
106 112
107 以下为python测试代码
113 以下为python测试代码,输出第一包的第一条弹幕
108 114
109 115 ```python
110 116 import bilidm_pb2
111 117 import requests
112 url = 'http://api.bilibili.com/x/v2/dm/web/seg.so?type=1&oid=1176840&pid=810872&segment_index=1'
118
119 AVID = 810872
120 CID = 1176840
121 SEG = 1
122 url = 'http://api.bilibili.com/x/v2/dm/web/seg.so?type=1&oid=' + str(CID) + '&pid=' + str(AVID) + '&segment_index=' + str(SEG)
123
113 124 data = requests.get(url)
114 125 target = bilidm_pb2.DmSegMobileReply()
115 126 target.ParseFromString(data.content)
127
116 128 print(target.elems[0])
117 129 print(target.elems[0].content)
118 130 ```
Added danmaku/danmaku_view_proto.md +290 -0
@@ -0,0 +1,290 @@
1 # 弹幕元数据
2
3 2020-09-25 B站更新了互动弹幕功能,包括UP主头像弹幕、关联视频弹幕、视频内嵌引导关注按钮三大功能
4
5 详情见:
6
7 [【客户端更新】6.10版本更新!UP主支持发布关联视频弹幕]( https://www.bilibili.com/read/cv7728299 )
8
9 [引导关注卡片](https://www.bilibili.com/blackboard/activity-c8a0iDRQy.html )
10
11 ## 获取弹幕个人配置与互动弹幕及BAS(代码)弹幕专包(web端)
12
13 > http://api.bilibili.com/x/v2/dm/web/view
14
15 *请求方式:GET*
16
17 认证方式:仅可Cookie(SESSDATA)
18
19 **url参数:**
20
21 | 参数名 | 类型 | 内容 | 必要性 | 备注 |
22 | ------ | ---- | -------- | ------ | ----------- |
23 | type | num | 弹幕类 | 必要 | 1:视频弹幕 |
24 | oid | num | 视频CID | 必要 | |
25 | pid | num | 视频avID | 非必要 | |
26
27 **proto回复:**
28
29 消息`DmWebViewReply`:
30
31 | 名称 | 类型 | 含义 | 备注 |
32 | ---------- | ---------------- | ---------------------- | ---------------------------- |
33 | state | int32 | 弹幕开放状态 | 0:开放弹幕<br />1:禁止弹幕 |
34 | text | string | ? | |
35 | textSide | string | ? | |
36 | dmSge | message | 分段弹幕包信息? | |
37 | flag | message | ? | |
38 | specialDms | repeated message | BAS(代码)弹幕专包url | |
39 | checkBox | bool | ? | |
40 | count | int64 | 实际弹幕总数 | 具有1500-6000不等的上限 |
41 | commandDms | repeated message | 互动弹幕条目 | |
42 | dmSetting | message | 弹幕个人配置 | 仅登录后存在 |
43
44 消息`dmSge`:
45
46 | 名称 | 类型 | 含义 | 备注 |
47 | -------- | ----- | ------------ | ---------- |
48 | pageSize | int64 | 分段时间? | 单位为毫秒 |
49 | total | int64 | 最大分页数? | |
50
51 消息`flag`:
52
53 | 名称 | 类型 | 含义 | 备注 |
54 | --------- | ------ | ---- | ---- |
55 | recFlag | int32 | ? | |
56 | recText | string | ? | |
57 | recSwitch | int32 | ? | |
58
59 消息`commandDms`:
60
61 | 名称 | 类型 | 含义 | 备注 |
62 | -------- | ------ | ------------ | ------------------------------------------------------------ |
63 | id | int64 | 弹幕dmID | |
64 | oid | int64 | 视频CID | |
65 | mid | int64 | 发送者UID | |
66 | command | string | 弹幕指令 | `#UP#`:UP主头像弹幕<br />`#LINK#`:关联视频弹幕<br />`#ATTENTION#`:视频内嵌引导关注按钮 |
67 | content | string | 弹幕文字 | |
68 | progress | int32 | 弹幕出现时间 | 单位为毫秒 |
69 | ctime | string | 创建时间? | 此项为空 |
70 | mtime | string | 修改时间? | 此项为空 |
71 | extra | string | 弹幕负载数据 | json序列字串 |
72 | idStr | string | 弹幕dmID | 字串形式 |
73
74 `extra`json序列:
75
76 类型为【UP主头像弹幕】时:
77
78 | 字段 | 类型 | 内容 | 备注 |
79 | ---- | ---- | ----------- | ---- |
80 | icon | str | UP主头像url | |
81
82 类型为【关联视频弹幕】时:类型为【关联视频弹幕】时:
83
84 | 字段 | 类型 | 内容 | 备注 |
85 | ----- | ---- | ------------------- | ---- |
86 | aid | num | 关联视频的avID | |
87 | title | str | 关联视频的标题 | |
88 | icon | str | 关联视频按钮图片url | |
89 | bvid | str | 关联视频的bvID | |
90
91 类型为【视频内嵌引导关注按钮】时:
92
93 | 字段 | 类型 | 内容 | 备注 |
94 | -------- | ---- | ----------- | ---------------------------------- |
95 | duration | num | 持续时间 | 单位为毫秒 |
96 | posX | num | X坐标 | 区间:[118-549] |
97 | posY | num | Y坐标 | 区间:[82-293] |
98 | icon | str | 按钮图片url | 不应该是关注按钮吗,但这个是圆形的 |
99
100 消息`dmSetting`:
101
102 | 名称 | 类型 | 含义 | 备注 |
103 | ------------ | ------ | ------------------------ | ------------------------------------------------------------ |
104 | dmSwitch | bool | 弹幕开关 | true:开启<br />false:关闭 |
105 | aiSwitch | bool | 智能云屏蔽 | 同上 |
106 | aiLevel | int32 | 智能云屏蔽级别 | 区间:[1-10] |
107 | blocktop | bool | 屏蔽类型-顶部 | true:不屏蔽<br />false:屏蔽 |
108 | blockscroll | bool | 屏蔽类型-滚动 | 同上 |
109 | blockbottom | bool | 屏蔽类型-底部 | 同上 |
110 | blockcolor | bool | 屏蔽类型-彩色 | 同上 |
111 | blockspecial | bool | 屏蔽类型-特殊 | 同上 |
112 | preventshade | bool | 防挡弹幕(底部15%) | true:开启<br />false:关闭 |
113 | dmask | bool | 智能防挡弹幕(人像蒙版) | 同上 |
114 | opacity | float | 弹幕不透明度 | 区间:[0-1] |
115 | dmarea | int32 | 弹幕显示区域 | 100:不重叠<br />75:3/4屏<br />50:半瓶<br />25:1/4屏<br />0:不限 |
116 | speedplus | float | 弹幕速度 | 区间:[0.4-1.6] |
117 | fontsize | float | 字体大小 | 区间:[0.4-1.6] |
118 | screensync | bool | 跟随屏幕缩放比例 | |
119 | speedsync | bool | 根据播放倍速调整速度 | |
120 | fontfamily | string | 字体类型? | 未启用 |
121 | bold | bool | 粗体? | 未启用 |
122 | fontborder | int32 | 描边类型 | 0:重墨<br />1:描边<br />2:45°投影 |
123 | drawType | string | 渲染类型? | 未启用 |
124
125 protobuf结构体:
126
127 **web_dmview.proto**
128
129 ```protobuf
130 syntax = "proto3";
131
132 //分段弹幕包信息?
133 message DmSegConfig {
134 int64 pageSize = 1; //分段时间?
135 int64 total = 2; //最大分页数?
136 }
137
138 //
139 message DanmakuFlagConfig {
140 int32 recFlag = 1; //
141 string recText = 2; //
142 int32 recSwitch = 3; //
143 }
144
145 // 互动弹幕条目
146 message CommandDm {
147 int64 id = 1; //弹幕dmID
148 int64 oid = 2; //视频CID
149 int64 mid = 3; //发送者UID
150 string command = 4; //弹幕指令
151 string content = 5; //弹幕文字
152 int32 progress = 6; //弹幕出现时间
153 string ctime = 7; //
154 string mtime = 8; //
155 string extra = 9; //弹幕负载数据
156 string idStr = 10; //弹幕dmID(字串形式)
157 }
158
159 //弹幕个人配置
160 message DanmuWebPlayerConfig{
161 bool dmSwitch=1; //弹幕开关
162 bool aiSwitch=2; //智能云屏蔽
163 int32 aiLevel=3; //智能云屏蔽级别
164 bool blocktop=4; //屏蔽类型-顶部
165 bool blockscroll=5; //屏蔽类型-滚动
166 bool blockbottom=6; //屏蔽类型-底部
167 bool blockcolor=7; //屏蔽类型-彩色
168 bool blockspecial=8; //屏蔽类型-特殊
169 bool preventshade=9; //防挡弹幕(底部15%)
170 bool dmask=10; //智能防挡弹幕(人像蒙版)
171 float opacity=11; //弹幕不透明度
172 int32 dmarea=12; //弹幕显示区域
173 float speedplus=13; //弹幕速度
174 float fontsize=14; //字体大小
175 bool screensync=15; //跟随屏幕缩放比例
176 bool speedsync=16; //根据播放倍速调整速度
177 string fontfamily=17; //字体类型?
178 bool bold=18; //粗体?
179 int32 fontborder=19; //描边类型
180 string drawType=20; //渲染类型?
181 }
182
183 message DmWebViewReply {
184 int32 state = 1; //弹幕开放状态
185 string text = 2; //
186 string textSide = 3; //
187 DmSegConfig dmSge = 4; //分段弹幕包信息?
188 DanmakuFlagConfig flag = 5; //
189 repeated string specialDms = 6; //BAS(代码)弹幕专包url
190 bool checkBox = 7; //
191 int64 count = 8; //实际弹幕总数
192 repeated CommandDm commandDms = 9; //互动弹幕条目
193 DanmuWebPlayerConfig dmSetting = 10; //弹幕个人配置
194 }
195 ```
196
197 **示例:**
198
199 获取视频`av797164471(CID=236871317)`的弹幕元数据
200
201 ```shell
202 curl -G 'http://api.bilibili.com/x/v2/dm/web/view'\
203 --data-urlencode 'type=1'\
204 --data-urlencode 'oid=236871317'\
205 --data-urlencode 'pid=797164471'\
206 -b 'SESSDATA=xxx'\
207 -o 'danmaku_view.bin'
208 ```
209
210 响应正文为protubuf二进制数据
211
212 ## 获取互动弹幕
213
214 获取视频`av797164471(CID=236871317)`的互动弹幕
215
216 ```python
217 import web_dmview_pb2
218 import requests
219
220 CID = 236871317
221 url = 'http://api.bilibili.com/x/v2/dm/web/view?type=1&oid='+str(CID)
222
223 data = requests.get(url)
224 target = web_dmview_pb2.DmWebViewReply()
225 target.ParseFromString(data.content)
226
227 commandDms_len=len(target.commandDms)
228 print('互动弹幕数=',commandDms_len)
229 for i in range(commandDms_len):
230 print('互动弹幕[',i,']:')
231 print('---弹幕ID=',target.commandDms[i].id)
232 print('---视频CID=',target.commandDms[i].oid)
233 print('---发送者UID=',target.commandDms[i].mid)
234 print('---弹幕指令=',target.commandDms[i].command)
235 print('---弹幕文字=',target.commandDms[i].content)
236 print('---弹幕出现时间=',target.commandDms[i].progress)
237 print('---ctime=',target.commandDms[i].ctime)
238 print('---mtime=',target.commandDms[i].mtime)
239 print('---弹幕负载数据=',target.commandDms[i].extra)
240 print('---弹幕ID(字串)=',target.commandDms[i].idStr)
241 ```
242
243 输出为:
244
245 ```
246 互动弹幕数= 1
247 互动弹幕[ 0 ]:
248 ---弹幕ID= 38469676112019463
249 ---视频CID= 236871317
250 ---发送者UID= 501183549
251 ---弹幕指令= #UP#
252 ---弹幕文字= 这个视频没有恰饭!别紧张!
253 ---弹幕出现时间= 157818
254 ---ctime=
255 ---mtime=
256 ---弹幕负载数据= {"icon":"http://i1.hdslb.com/bfs/face/559abe31f561f71f3106d8ee7b2065cac50c1235.jpg"}
257 ---弹幕ID(字串)= 38469676112019463
258 ```
259
260 ## 获取BAS(代码)弹幕专包
261
262 BAS弹幕(`pool=2` `mode=9`)只能从此包获取,代码弹幕(`pool=2` `mode=8`)也能从此包获取
263
264 获取视频`av2(CID=62131)`的BAS(代码)弹幕专包
265
266 ```python
267 import web_dmview_pb2
268 import requests
269
270 CID = 62131
271 url = 'http://api.bilibili.com/x/v2/dm/web/view?type=1&oid='+str(CID)
272
273 data = requests.get(url)
274 target = web_dmview_pb2.DmWebViewReply()
275 target.ParseFromString(data.content)
276
277 specialDms_len=len(target.specialDms)
278 print('特殊弹幕包数=',specialDms_len)
279 for i in range(specialDms_len):
280 print('特殊弹幕包url[',i,']=',target.specialDms[i])
281 ```
282
283 输出为:
284
285 ```
286 特殊弹幕包数= 1
287 特殊弹幕包url[ 0 ]= http://i0.hdslb.com/bfs/dm/b0d5f08c12be59292aa0d4e09b6dd8e54c2ba886.bin
288 ```
289
290 使用[普通分段包弹幕](danmaku_proto.md)的proto结构体反序列化此bin数据
Modified user/relation.md +18 -14
@@ -183,12 +183,13 @@ curl -G 'http://api.bilibili.com/x/relation/followers'\
183 183
184 184 **url参数:**
185 185
186 | 参数名 | 类型 | 内容 | 必要性 | 备注 |
187 | ---------- | ---- | ------------ | ----------- | ---------------------------------- |
188 | access_key | str | APP登录Token | APP方式必要 | |
189 | vmid | num | 目标用户UID | 必要 | |
190 | ps | num | 每页项数 | 非必要 | 默认为50 |
191 | pn | num | 页码 | 非必要 | 默认为1<br />其他用户仅可查看前5页 |
186 | 参数名 | 类型 | 内容 | 必要性 | 备注 |
187 | ---------- | ---- | ------------ | ----------- | ------------------------------------------------------- |
188 | access_key | str | APP登录Token | APP方式必要 | |
189 | vmid | num | 目标用户UID | 必要 | |
190 | order_type | str | 排序方式 | 非必要 | 按照关注顺序排列:留空<br />按照最常访问排列:attention |
191 | ps | num | 每页项数 | 非必要 | 默认为50 |
192 | pn | num | 页码 | 非必要 | 默认为1<br />其他用户仅可查看前5页 |
192 193
193 194 **json回复:**
194 195
@@ -268,11 +269,12 @@ data 对象:
268 269
269 270 **示例:**
270 271
271 获取用户`UID=293793435`的关注明细
272 获取用户`UID=293793435`的关注明细,按照关注顺序
272 273
273 274 ```shell
274 275 curl -G 'http://api.bilibili.com/x/relation/ollowings'\
275 276 --data-urlencode 'vmid=293793435'\
277 --data-urlencode 'order_type='\
276 278 --data-urlencode 'ps=2'\
277 279 --data-urlencode 'pn=1'\
278 280 -b 'SESSDATA=xxx'
@@ -1022,12 +1024,13 @@ curl 'http://api.bilibili.com/x/relation/tags'\
1022 1024
1023 1025 **url参数:**
1024 1026
1025 | 参数名 | 类型 | 内容 | 必要性 | 备注 |
1026 | ---------- | ---- | ------------ | ----------- | ---------------------------------- |
1027 | access_key | str | APP登录Token | APP方式必要 | |
1028 | tagid | num | 分组ID | 必要 | 特别关注恒为-10<br />默认分组恒为0 |
1029 | ps | num | 每页项数 | 非必要 | 默认为50 |
1030 | pn | num | 页数 | 非必要 | 默认为1 |
1027 | 参数名 | 类型 | 内容 | 必要性 | 备注 |
1028 | ---------- | ---- | ------------ | ----------- | ------------------------------------------------------- |
1029 | access_key | str | APP登录Token | APP方式必要 | |
1030 | tagid | num | 分组ID | 必要 | 特别关注恒为-10<br />默认分组恒为0 |
1031 | order_type | str | 排序方式 | 非必要 | 按照关注顺序排列:留空<br />按照最常访问排列:attention |
1032 | ps | num | 每页项数 | 非必要 | 默认为50 |
1033 | pn | num | 页数 | 非必要 | 默认为1 |
1031 1034
1032 1035 **json回复:**
1033 1036
@@ -1087,11 +1090,12 @@ curl 'http://api.bilibili.com/x/relation/tags'\
1087 1090
1088 1091 **示例:**
1089 1092
1090 以每页2项的方式获取了ID为`207542`分组的第1页的粉丝明细
1093 以每页2项的方式获取了ID为`207542`分组的第1页的粉丝明细,按照关注顺序
1091 1094
1092 1095 ```shell
1093 1096 curl -G 'http://api.bilibili.com/x/relation/tag'\
1094 1097 --data-urlencode 'tagid=207542'\
1098 --data-urlencode 'order_type='\
1095 1099 --data-urlencode 'ps=2'\
1096 1100 --data-urlencode 'pn=1'\
1097 1101 -b 'SESSDATA=xxx'