起因
这次问题是从Btools更换获取数据方式开始的,因为B站收藏夹在前台页面返回的数据中删除了失效视频的封面和标题,导致原来的程序无法获取视频信息。
于是我就想如果请求收藏夹的API,是否可以获取这些信息。但打开后发现,这些数据是从请求API的时候就被删除或者说被过滤掉了。
返回的JSON
可以看到title是“已失效视频”,cover是失效视频的封面。
解决方案
查看API后发现,intro(视频简介)、pages(分P信息)以及link(打开客户端的链接,有av号),这些信息还存在,即使获取不到封面标题,这种方式还是有必要添加到插件的。
Btools的查看失效视频功能失效了,改为增强B站收藏夹功能,让你依然可以通过收藏视频的详情来回忆起失效视频是啥(我怀疑反应的人多了,B站早晚还会放出封面和标题的)。
而且能获取到av号,也可以直接跳转到哔哩哔哩唧唧查看是否有缓存资源之类的。
虽然想法是好的,但实施起来还是会有问题,困扰了好几天的就是:跨域请求。因为插件是独立运行在浏览器中的,所以请求B站的API属于跨域请求(大概吧)。