bilibili-API-collect/grpc_api/bilibili/app/interfaces/v1.proto

594 lines
8.9 KiB
Protocol Buffer

syntax = "proto3";
package bilibili.app.interfaces.v1;
import "bilibili/app/playurl/v1.proto";
//历史记录接口
service History {
//搜索历史记录
//https://app.bilibili.com/bilibili.app.interface.v1.History/Search
rpc search (SearchReq) returns (SearchReply);
//?
//https://app.bilibili.com/bilibili.app.interface.v1.History/LatestHistory
rpc latestHistory (LatestHistoryReq) returns (LatestHistoryReply);
//获取历史记录业务类型
//https://app.bilibili.com/bilibili.app.interface.v1.History/HistoryTab
rpc historyTab (HistoryTabReq) returns (HistoryTabReply);
//删除历史记录
//https://app.bilibili.com/bilibili.app.interface.v1.History/Delete
rpc delete (DeleteReq) returns (NoReply);
//获取历史记录列表v2接口
//https://app.bilibili.com/bilibili.app.interface.v1.History/CursorV2
rpc cursorV2 (CursorV2Req) returns (CursorV2Reply);
//获取历史记录列表v1接口
//https://app.bilibili.com/bilibili.app.interface.v1.History/Cursor
rpc cursor (CursorReq) returns (CursorReply);
//清空历史记录
//https://app.bilibili.com/bilibili.app.interface.v1.History/Clear
rpc clear (ClearReq) returns (NoReply);
}
//搜索接口
service Search {
//获取搜索建议
//https://app.bilibili.com/bilibili.app.interface.v1.Search/Suggest3
rpc suggest3 (SuggestionResult3Req) returns (SuggestionResult3Reply);
}
//搜索历史记录-请求
message SearchReq {
//关键词
string keyword = 1;
//页码
int64 pn = 2;
//业务选择
string business = 3;
}
//搜索历史记录-回复
message SearchReply {
//历史记录条目列表
repeated CursorItem items = 1;
//是否未拉取完
bool hasMore = 2;
//页面信息
Page page = 3;
}
//?-请求
message LatestHistoryReq {
//业务选择
string business = 1;
//视频预加载配置
PlayerPreloadParams playerPreload = 2;
}
//?-回复
message LatestHistoryReply {
//历史记录条目
CursorItem items = 1;
//
string scene = 2;
}
//获取历史记录业务类型-请求
message HistoryTabReq {
//
string business = 1;
//
HistorySource source = 2;
//
string keyword = 3;
}
//获取历史记录业务类型-回复
message HistoryTabReply {
//
repeated CursorTab tab = 1;
}
//删除历史记录-请求
message DeleteReq {
//历史记录信息
HisInfo hisInfo = 1;
}
//获取历史记录列表v2接口-请求
message CursorV2Req {
//游标信息
Cursor cursor = 1;
//业务选择
string business = 2;
//视频预加载配置
PlayerPreloadParams playerPreload = 3;
//
bilibili.app.playurl.v1.PlayerArgs playerArgs = 4;
}
//获取历史记录列表v2接口-回复
message CursorV2Reply {
//历史记录条目列表
repeated CursorItem items = 1;
//游标信息
Cursor cursor = 2;
//是否未拉取完
bool hasMore = 3;
}
//获取历史记录列表v1接口-请求
message CursorReq {
//游标信息
Cursor cursor = 1;
//业务选择
string business = 2;
//视频预加载配置
PlayerPreloadParams playerPreload = 3;
}
//获取历史记录列表v1接口-回复
message CursorReply {
//历史记录条目列表
repeated CursorItem items = 1;
//业务类型表
repeated CursorTab tab = 2;
//游标信息
Cursor cursor = 3;
//是否未拉取完
bool hasMore = 4;
}
//清空历史记录-请求
message ClearReq {
//业务选择
string business = 1;
}
//空回复
message NoReply {
}
//获取搜索建议-请求
message SuggestionResult3Req {
//关键字
string keyword = 1;
//是否语法高亮
int32 highlight = 2;
//是否青少年模式
int32 teenagersMode = 3;
}
//获取搜索建议-回复
message SuggestionResult3Reply {
//搜索追踪id
string trackid = 1;
//搜索建议条目列表
repeated ResultItem list = 2;
//
string expStr = 3;
}
//专栏条目类型
message CardArticle {
//封面uel
repeated string covers = 1;
//作者昵称
string name = 2;
//作者UID
int64 mid = 3;
//
bool displayAttention = 4;
//标志名
string badge = 5;
//
Relation relation = 6;
}
//课程条目类型
message CardCheese {
//封面url
string cover = 1;
//观看进度
int64 progress = 2;
//总计时长
int64 duration = 3;
//单集标题
string subtitle = 4;
}
//直播条目类型
message CardLive {
//封面url
string cover = 1;
//主播昵称
string name = 2;
//主播UID
int64 mid = 3;
//直播分区名
string tag = 4;
//
int32 ststus = 5;
//
bool displayAttention = 6;
//
Relation relation = 7;
}
//pgc稿件条目类型
message CardOGV {
//封面url
string cover = 1;
//观看进度
int64 progress = 2;
//总计时长
int64 duration = 3;
//单集标题
string subtitle = 4;
}
//ugc稿件条目类型
message CardUGC {
//封面url
string cover = 1;
//观看进度
int64 progress = 2;
//视频长度
int64 duration = 3;
//UP主昵称
string name = 4;
//UP主UID
int64 mid = 5;
//
bool displayAttention = 6;
//观看视频cid
int64 cid = 7;
//观看视频分P
int32 page = 8;
//
string subtitle = 9;
//
Relation relation = 10;
//稿件bvid
string bvid = 11;
//总分P数
int64 videos = 12;
//短链接
string shortLink = 13;
//副标题文案
string shareSubtitle = 14;
//播放数
int64 view = 15;
}
//游标信息
message Cursor {
//起始时间戳
int64 max = 1;
//
int32 maxTp = 2;
}
//历史记录条目
message CursorItem {
//主体数据
oneof cardItemCase {
//ugc稿件
CardUGC cardUGC = 1;
//pgc稿件
CardOGV cardOGV = 2;
//专栏
CardArticle cardArticle = 3;
//直播
CardLive cardLive = 4;
//课程
CardCheese cardCheese = 5;
}
//标题
string title = 6;
//目标uri/url
string uri = 7;
//观看时间
int64 viewAt = 8;
//历史记录id
int64 kid = 9;
//对象id
int64 oid = 10;
//业务类型
string business = 11;
//业务类型代码
int32 tp = 12;
//设备标识
DeviceType dt = 13;
//
bool hasShare = 14;
}
//业务分类表
message CursorTab {
//业务名
string business = 1;
//名称
string name = 2;
//路由uri
string router = 3;
//
bool focus = 4;
}
//设备标识代码
enum DT {
//未知
Unknown_VALUE = 0;
//手机端
Phone_VALUE = 1;
//ipad端
Pad_VALUE = 2;
//web端
PC_VALUE = 3;
}
//设备标识
message DeviceType {
//设备标识代码
DT type = 1;
//图标url
string icon = 2;
}
//历史记录信息
message HisInfo {
//业务选择
string business = 1;
//历史记录id
int64 kid = 2;
}
//
enum HistorySource {
//
history_VALUE = 0;
//
shopping_VALUE = 1;
}
//
message OfficialVerify {
//
int32 type = 1;
//
string desc = 2;
}
//页面信息
message Page {
//当前页码
int64 pn = 1;
//总计条目数
int64 total = 2;
}
//视频预加载配置
message PlayerPreloadParams {
//清晰度
int64 qn = 1;
//
int64 fnver = 2;
//流类型
int64 fnval = 3;
//强制域名
int64 forceHost = 4;
//是否4K
int64 fourk = 5;
}
//
message ReasonStyle {
//
string text = 1;
//
string textColor = 2;
//
string textColorNight = 3;
//
string bgColor = 4;
//
string bgColorNight = 5;
//
string borderColor = 6;
//
string borderColorNight = 7;
//
int32 bgStyle = 8;
}
//
message Relation {
//
int32 status = 1;
//
int32 isFollow = 2;
//
int32 isFollowed = 3;
}
//搜索建议条目
message ResultItem {
//来源
string from = 1;
//显示结果(语法高亮)
string title = 2;
//结果
string keyword = 3;
//序号
int32 position = 4;
//
string cover = 5;
//
double coverSize = 6;
//
string sugType = 7;
//
int32 termType = 8;
//
string goto = 9;
//
string uri = 10;
//
OfficialVerify officialVerify = 11;
//
string param = 12;
//
int64 mid = 13;
//
int32 fans = 14;
//
int32 level = 15;
//
int32 archives = 16;
//
int64 ptime = 17;
//
string seasonTypeName = 18;
//
string area = 19;
//
string style = 20;
//
string label = 21;
//
double rating = 22;
//
int32 vote = 23;
//
repeated ReasonStyle badges = 24;
//
string styles = 25;
//
int64 moduleId = 26;
//
string liveLink = 27;
}