bilibili-API-collect/docs/video/action.md
Gospel e82b450f73
稿件观众操作接口增加鉴权说明 (#840)
* 修复某些表格全角&半角符号不分 (#838)

* Update precious_videos.md

* Update manage.md

* 修复部分视频无法投币,点赞,收藏问题,增加鉴权参数

* 修改【稿件观众操作】APIDoc

---------

Co-authored-by: LaMerChiang <catlair@qq.com>
Co-authored-by: djeozhang <djeozhang@tencent.com>
Co-authored-by: SocialSisterYi <1440239038@qq.com>
2023-12-22 16:07:37 +08:00

28 KiB
Raw Blame History

稿件观众操作

点赞

点赞视频web端

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

请求方式POST

认证方式仅可CookieSESSDATA

需验证 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账号未登录
-111csrf校验失败
-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或CookieSESSDATA

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

认证方式仅可CookieSESSDATA

需验证 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硬币不足
-111csrf校验失败
-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或CookieSESSDATA

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

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

请求方式POST

认证方式APP或CookieSESSDATA

鉴权方式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账号未登录
-111csrf校验失败
-400请求错误
-403访问权限不足
10003不存在该稿件
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"
}

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

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

请求方式GET

认证方式APP或CookieSESSDATA

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

认证方式仅可CookieSESSDATA

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

需验证 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账号未登录
-111csrf校验失败
-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

正文参数( 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账号未登录
-111csrf校验失败
-400请求错误
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
}