Skip to content

Latest commit

 

History

History
893 lines (644 loc) · 31 KB

action.md

File metadata and controls

893 lines (644 loc) · 31 KB

稿件观众操作

点赞

点赞视频(web端)

https://api.bilibili.com/x/web-interface/archive/like

请求方式:POST

认证方式:仅可Cookie(SESSDATA)

需验证 Cookie 中buvid3字段存在且正常, 否则将导致触发风控

正文参数( application/x-www-form-urlencoded ):

参数名 类型 内容 必要性 备注
aid num 稿件 avid 必要(可选) avid 与 bvid 任选一个
bvid str 稿件 bvid 必要(可选) avid 与 bvid 任选一个
like num 操作方式 必要 1:点赞
2:取消赞
csrf str CSRF Token(位于 Cookie) 必要

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
-101:账号未登录
-111:csrf校验失败
-400:请求错误
-403: 账号异常
10003:不存在该稿件
65004:取消点赞失败
65006:重复点赞
message str 错误信息 默认为0
ttl num 1

示例:

点赞视频av79677524/BV1uJ411r7hL

avid方式:

curl 'https://api.bilibili.com/x/web-interface/archive/like' \
--data-urlencode 'aid=79677524' \
--data-urlencode 'like=1' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'

bvid方式:

curl 'https://api.bilibili.com/x/web-interface/archive/like' \
--data-urlencode 'bvid=BV1uJ411r7hL' \
--data-urlencode 'like=1' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
	"code": 0,
	"message": "0",
	"ttl": 1
}

点赞视频(APP端)

https://app.bilibili.com/x/v2/view/like

请求方式:POST

认证方式:仅可APP

正文参数( application/x-www-form-urlencoded ):

参数名 类型 内容 必要性 备注
access_key str APP 登录 Token APP 方式必要
aid num 稿件 avid 必要
like num 操作方式 必要 0:点赞
1:取消赞

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
-101:账号未登录
-400:请求错误
-403: 账号异常
10003:不存在该稿件
message str 错误信息 默认为0
ttl num 1
data obj 数据本体

data对象:

字段 类型 内容 备注
toast str 提示信息内容

示例:

点赞视频av79677524

curl 'https://app.bilibili.com/x/v2/view/like' \
--data-urlencode 'access_key=xxx' \
--data-urlencode 'aid=79677524' \
--data-urlencode 'like=0'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
        "toast": "点赞收到!视频可能推荐哦"
    }
}

判断视频近期是否被点赞(双端)

https://api.bilibili.com/x/web-interface/archive/has/like

请求方式:GET

认证方式:APP或Cookie(SESSDATA)

注: 这一 API 实际上只能判断出视频在近期内是否被点赞, 并不能判断出视频是否被点赞. 「近期」的定义不明, 但至少半年前点赞过的视频, 用这一接口获取到的结果就已经是 0 了. 参见 #380.

url参数:

参数名 类型 内容 必要性 备注
access_key str APP 登录 Token APP 方式必要
aid num 稿件 avid 必要(可选) avid 与 bvid 任选一个
bvid str 稿件 bvid 必要(可选) avid 与 bvid 任选一个

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
-400:请求错误
-101:账号未登录
message str 错误信息 默认为0
ttl num 1
data num 被点赞标志 0:未点赞
1:已点赞

示例:

视频av39330059/BV1Bt411z799的状态为已点赞

avid方式:

curl -G 'https://api.bilibili.com/x/web-interface/archive/has/like' \
--data-urlencode 'aid=39330059' \
-b 'SESSDATA=xxx'

bvid方式:

curl -G 'https://api.bilibili.com/x/web-interface/archive/has/like' \
--data-urlencode 'bvid=BV1Bt411z799' \
-b 'SESSDATA=xxx'
查看响应示例:
{
	"code": 0,
	"message": "0",
	"ttl": 1,
	"data": 1
}

点踩

点踩视频(App端)

https://app.biliapi.net/x/v2/view/dislike

请求方式:POST

认证方式:仅可App

正文参数( application/x-www-form-urlencoded ):

参数名 类型 内容 必要性 备注
access_key str APP 登录 Token 必要
aid num 视频 aid 必要
dislike num 操作类型 必要 0:点踩
1:取消点踩

json回复:

字段 类型 内容 备注
code num 返回值 0:成功
-101:账号未登录
-400:请求错误
-404:啥都木有
65005:取消踩失败 未点踩过
65007:已踩过
message str 错误信息 默认为0
ttl num 1

示例:

点踩视频

curl -L -X POST 'https://app.biliapi.net/x/v2/view/dislike' \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'access_key=xxx' \
--data-urlencode 'aid=xxx' \
--data-urlencode 'dislike=0'

取消点踩

curl -L -X POST 'https://app.biliapi.net/x/v2/view/dislike' \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'access_key=xxx' \
--data-urlencode 'aid=xxx' \
--data-urlencode 'dislike=1'

投币

投币视频(web端)

https://api.bilibili.com/x/web-interface/coin/add

请求方式:POST

认证方式:仅可Cookie(SESSDATA)

需验证 Cookie 中buvid3字段存在且正常, 否则将导致触发风控

正文参数( application/x-www-form-urlencoded ):

参数名 类型 内容 必要性 备注
aid num 稿件 avid 必要(可选) avid 与 bvid 任选一个
bvid str 稿件 bvid 必要(可选) avid 与 bvid 任选一个
multiply num 投币数量 必要 上限为2
select_like num 是否附加点赞 非必要 0:不点赞
1:同时点赞
默认为0
csrf str CSRF Token(位于 Cookie) 必要

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
-101:账号未登录
-102:账号被封停
-104:硬币不足
-111:csrf校验失败
-400:请求错误
-403: 账号异常
10003:不存在该稿件
34002:不能给自己投币
34003:非法的投币数量
34004:投币间隔太短
34005:超过投币上限
message str 错误信息 默认为0
ttl num 1
data obj 信息本体

data 对象:

字段 类型 内容 备注
like bool 是否点赞成功 true:成功
false:失败
已赞过则附加点赞失败

示例:

为视频av90671873/BV1N7411A7wC投币2枚

avid方式:

curl 'https://api.bilibili.com/x/web-interface/coin/add' \
--data-urlencode 'aid=90671873' \
--data-urlencode 'select_like=1' \
--data-urlencode 'multiply=2' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'

bvid方式:

curl 'https://api.bilibili.com/x/web-interface/coin/add' \
--data-urlencode 'bvid=BV1N7411A7wC' \
--data-urlencode 'select_like=1' \
--data-urlencode 'multiply=2' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
	"code": 0,
	"message": "0",
	"ttl": 1,
	"data": {
		"like": true
	}
}

投币视频(APP端)

https://app.bilibili.com/x/v2/view/coin/add

请求方式:POST

认证方式:仅可APP

正文参数( application/x-www-form-urlencoded ):

参数名 类型 内容 必要性 备注
access_key str APP 登录 Token APP 方式必要
aid num 稿件 avid 必要
multiply num 投币数量 必要 上限为2
select_like num 附加点赞 非必要 0:不点赞
1:同时点赞
默认为0

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
-101:账号未登录
-102:账号被封停
-104:硬币不足
-400:请求错误
10003:不存在该稿件
34002:不能给自己投币
34003:非法的投币数量
34004:投币间隔太短
34005:超过投币上限
message str 错误信息 默认为0
ttl num 1
data obj 信息本体

data 对象:

字段 类型 内容 备注
like bool 是否点赞成功 true:成功
false:失败
已赞过则附加点赞失败

为视频av90671873投币2枚

curl 'https://app.bilibili.com/x/v2/view/coin/add' \
--data-urlencode 'access_key=xxx' \
--data-urlencode 'aid=90671873' \
--data-urlencode 'select_like=1' \
--data-urlencode 'multiply=2'
查看响应示例:
{
	"code": 0,
	"message": "0",
	"ttl": 1,
	"data": {
		"like": true
	}
}

判断视频是否被投币(双端)

https://api.bilibili.com/x/web-interface/archive/coins

请求方式:GET

认证方式:APP或Cookie(SESSDATA)

url参数:

参数名 类型 内容 必要性 备注
access_key str APP 登录 Token APP方式必要
aid num 稿件 avid 必要(可选) avid 与 bvid 任选一个
bvid str 稿件 bvid 必要(可选) avid 与 bvid 任选一个

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
-400:请求错误
-101:账号未登录
message str 错误信息 默认为0
ttl num 1
data obj 信息本体

data对象:

字段 类型 内容 备注
multiply num 投币枚数 未投币为0

示例:

视频av37896701/BV18t411q7zz的投币数为2枚

avid方式:

curl -G 'https://api.bilibili.com/x/web-interface/archive/coins' \
--data-urlencode 'aid=37896701' \
-b 'SESSDATA=xxx'

bvid方式:

curl -G 'https://api.bilibili.com/x/web-interface/archive/coins' \
--data-urlencode 'bvid=BV18t411q7zz' \
-b 'SESSDATA=xxx'
查看响应示例:
{
	"code": 0,
	"message": "0",
	"ttl": 1,
	"data": {
		"multiply": 2
	}
}

收藏

收藏视频(双端)

https://api.bilibili.com/medialist/gateway/coll/resource/deal

请求方式:POST

认证方式:APP或Cookie(SESSDATA)

鉴权方式:Cookie方式时需要验证referer为 .bilibili.com域名下

正文参数( application/x-www-form-urlencoded ):

参数名 类型 内容 必要性 备注
access_key str APP 登录 Token APP 方式必要
rid num 稿件 avid 必要
type num 必须为2 必要
add_media_ids nums 需要加入的收藏夹 mlid 非必要(可选) 同时添加多个,用,(%2C)分隔
del_media_ids nums 需要取消的收藏夹 mlid 非必要(可选) 同时取消多个,用,(%2C)分隔
csrf str CSRF Token(位于 Cookie) Cookie 方式必要

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
-101:账号未登录
-111:csrf校验失败
-400:请求错误
-403:访问权限不足
10003:不存在该稿件
11010: 您访问的内容不存在
11201:已经收藏过了
11202:已经取消收藏了
11203:达到收藏上限
72010017:参数错误
message str 错误信息 正确为success
data obj 信息本体

data对象:

字段 类型 内容 备注
prompt bool 是否为未关注用户收藏 false:否
true:是

示例:

将视频av49166435添加到收藏夹49166435

Cookie方式:

curl 'https://api.bilibili.com/medialist/gateway/coll/resource/deal' \
--data-urlencode 'rid=90671873' \
--data-urlencode 'type=2' \
--data-urlencode 'add_media_ids=49166435' \
--data-urlencode 'del_media_ids=' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx' \
-e 'https://www.bilibili.com'

APP方式:

curl 'https://api.bilibili.com/medialist/gateway/coll/resource/deal' \
--data-urlencode 'access_key=xxx' \
--data-urlencode 'rid=90671873' \
--data-urlencode 'type=2' \
--data-urlencode 'add_media_ids=49166435' \
--data-urlencode 'del_media_ids='
查看响应示例:
{
	"code": 0,
	"data": {
		"prompt": false
	},
	"message": "success"
}

收藏视频(Web端)

https://api.bilibili.com/x/v3/fav/resource/deal

请求方式: POST

认证方式: Cookie(SESSDATA)

正文参数(application/x-www-form-urlencoded):

参数名 类型 内容 必要性 备注
rid num 稿件 avid 必要
type num 必须为2 必要
add_media_ids nums 需要加入的收藏夹 mlid 非必要(可选) 同时添加多个,用,(%2C)分隔
del_media_ids nums 需要取消的收藏夹 mlid 非必要(可选) 同时取消多个,用,(%2C)分隔
csrf str CSRF Token (即 Cookie 中 bili_jct) 必要
platform str 平台标识? 非必要 web端: web
eab_x num 1 非必要 作用尚不明确
ramval num 正整数 非必要 可能与在该页面的停留时间相关?
ga num 1 非必要 作用尚不明确
gaia_source str ??? 非必要 web端: web_normal

JSON回复:

根对象:

字段 类型 内容 备注
code num 返回值 0: 成功
-101: 账号未登录
-111: csrf 校验失败
2001000: 参数错误
message str 错误信息 默认为0
ttl num 1
data obj 信息本体 错误时为 null 或不存在

data对象:

字段 类型 内容 备注
prompt bool 是否为未关注用户收藏? false:否
true:是
ga_data null 作用尚不明确
toast_msg str 作用尚不明确
success_num num 0 作用尚不明确

示例:

将视频 av1906473802 添加到收藏夹 1164192068

curl -sX POST "https://api.bilibili.com/x/v3/fav/resource/deal" \
--data-urlencode "rid=1906473802" \
--data-urlencode  "type=2" \
--data-urlencode "csrf=xxx" \
--data-urlencode "add_media_ids=1164192068" \
-b "SESSDATA=xxx; bili_jct=xxx"
查看响应示例:
{
  "code": 0,
  "message": "0",
  "ttl": 1,
  "data": {
    "prompt": false,
    "ga_data": null,
    "toast_msg": "",
    "success_num": 0
  }
}

判断视频是否被收藏(双端)

https://api.bilibili.com/x/v2/fav/video/favoured

请求方式:GET

认证方式:APP或Cookie(SESSDATA)

url参数:

参数名 类型 内容 必要性 备注
access_key str APP 登录 Token APP 方式必要
aid num 或 str 稿件 avid 或稿件 bvid 必要

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
-400:请求错误
-101:账号未登录
message str 错误信息 默认为0
ttl num 1
data obj 信息本体

data 对象:

字段 类型 内容 备注
count num 1 作用尚不明确
favoured bool 是否收藏 true:已收藏
false:未收藏

示例:

视频av46281123/BV1Bb411H7Dv的状态为已收藏

avid方式:

curl -G 'https://api.bilibili.com/x/v2/fav/video/favoured' \
--data-urlencode 'aid=46281123' \
-b 'SESSDATA=xxx'

bvid方式:

curl -G 'https://api.bilibili.com/x/v2/fav/video/favoured' \
--data-urlencode 'aid=BV1Bb411H7Dv' \
-b 'SESSDATA=xxx'
查看响应示例:
{
	"code": 0,
	"message": "0",
	"ttl": 1,
	"data": {
		"count": 1,
		"favoured": true
	}
}

一键三连

一键三连视频(web端)

https://api.bilibili.com/x/web-interface/archive/like/triple

请求方式:POST

认证方式:仅可Cookie(SESSDATA)

同时点赞投币收藏视频,收藏于默认收藏夹中

需验证 Cookie 中buvid3字段存在且正常, 否则将导致触发风控

正文参数( application/x-www-form-urlencoded ):

参数名 类型 内容 必要性 备注
aid num 稿件 avid 必要(可选) avid 与 bvid 任选一个
bvid str 稿件 bvid 必要(可选) avid 与 bvid 任选一个
csrf str CSRF Token(位于 Cookie) 必要

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
-101:账号未登录
-111:csrf校验失败
-400:请求错误
10003:不存在该稿件
-403: 账号异常
message str 错误信息 默认为0
ttl num 1
data obj 信息本体

data对象:

字段 类型 内容 备注
like bool 是否点赞成功 true:成功
false:失败
coin bool 是否投币成功 true:成功
false:失败
fav bool 是否收藏成功 true:成功
false:失败
multiply num 投币枚数 默认为2

示例:

将视频av91003840/BV1Wj411f79U一键三连

avid方式:

curl 'https://api.bilibili.com/x/web-interface/archive/like/triple' \
--data-urlencode 'aid=91003840' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'

bvid方式:

curl 'https://api.bilibili.com/x/web-interface/archive/like/triple' \
--data-urlencode 'bvid=BV1Wj411f79U' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
	"code": 0,
	"message": "0",
	"ttl": 1,
	"data": {
		"like": true,
		"coin": true,
		"fav": true,
		"multiply": 2
	}
}

一键三连视频(APP端)

https://app.bilibili.com/x/v2/view/like/triple

请求方式:POST

认证方式:仅可APP

同时点赞投币收藏视频,收藏于默认收藏夹中

正文参数( application/x-www-form-urlencoded ):

参数名 类型 内容 必要性 备注
access_key str APP 登录 Token APP 方式必要
aid num 稿件 avid 必要

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
-101:账号未登录
-400:请求错误
10003:不存在该稿件
message str 错误信息 默认为0
ttl num 1
data obj 信息本体

data对象:

字段 类型 内容 备注
like bool 是否点赞成功 true:成功
false:失败
coin bool 是否投币成功 true:成功
false:失败
fav bool 是否收藏成功 true:成功
false:失败
multiply num 投币枚数 默认为2

示例:

将视频av91003840一键三连

curl 'https://app.bilibili.com/x/v2/view/like/triple' \
--data-urlencode 'access_key=xxx' \
--data-urlencode 'aid=91003840'
查看响应示例:
{
	"code": 0,
	"message": "0",
	"ttl": 1,
	"data": {
		"like": true,
		"coin": true,
		"fav": true,
		"multiply": 2
	}
}

分享

分享视频 (Web端)

https://api.bilibili.com/x/web-interface/share/add

请求方式:POST

鉴权方式: Cookie (buvid3)

正文参数( application/x-www-form-urlencoded ):

参数名 类型 内容 必要性 备注
aid num 稿件 aid 必要 (可选) aid 与 bvid 任选一个
bvid str 稿件 bvid 必要 (可选) aid 与 bvid 任选一个
csrf str CSRF Token (即 Cookie 中 bili_jct) 不必要
eab_x num 2 不必要 作用尚不明确
ramval num 0 不必要 作用尚不明确
source str web_normal 不必要
ga num 1 不必要 可能与风控有关?

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0: 成功
-101: 账号未登录
-111: csrf校验失败
-400: 请求错误
403: 账号异常,操作失败
71000: 重复分享
message str 错误信息 默认为0
ttl num 1
data num 当前分享数

示例:

分享视频BV1oA411776z

curl 'https://api.bilibili.com/x/web-interface/share/add' \
--data-urlencode 'csrf=xxx' \
--data-urlencode 'bvid=BV1oA411776z'
查看响应示例:
{
	"code":0,
	"message":"0",
	"ttl":1,
	"data":19
}