feat: add skills and workspace files
- Add complete skill set including feishu, github, ci-gen, etc. - Add workspace documentation (AGENTS.md, SOUL.md, etc.) - Add memory system and project context
This commit is contained in:
@@ -0,0 +1,240 @@
|
||||
# B站插件调研 - 最终可行性报告
|
||||
|
||||
**报告日期**: 2026-02-06
|
||||
**调研人**: 阿里巴巴助手
|
||||
**项目**: B站 OpenClaw 技能开发调研
|
||||
|
||||
---
|
||||
|
||||
## 执行摘要 (Executive Summary)
|
||||
|
||||
### 结论: ✅ **Go - 项目可行**
|
||||
|
||||
建议采用 **bili-auth 第三方OAuth方案** 开发 B站 OpenClaw 技能,实现关注列表管理和UP主动态监控功能。
|
||||
|
||||
### 核心判断依据
|
||||
|
||||
| 维度 | 评估 | 说明 |
|
||||
|------|------|------|
|
||||
| **技术可行性** | ✅ 高 | bili-auth 授权 + 公开API可满足MVP需求 |
|
||||
| **风险可控性** | 🟡 中 | 小号策略可将风险降至可接受水平 |
|
||||
| **用户价值** | ✅ 高 | 解决官方不开放个人API的痛点 |
|
||||
| **维护成本** | 🟡 中 | 需关注B站API变动,但有社区支持 |
|
||||
|
||||
---
|
||||
|
||||
## 1. 背景与目标
|
||||
|
||||
### 1.1 项目背景
|
||||
- B站官方开放平台**暂不开放个人开发者申请**(仅接受企业/机构)
|
||||
- 个人用户无法通过官方渠道获取API权限
|
||||
- 存在第三方解决方案(bili-auth)可绕过此限制
|
||||
|
||||
### 1.2 项目目标
|
||||
开发 OpenClaw 技能,实现:
|
||||
- ✅ 获取用户B站关注列表
|
||||
- ✅ 监控UP主最新视频更新
|
||||
- ✅ 搜索B站视频
|
||||
- ✅ 查看视频详情和热门榜单
|
||||
|
||||
---
|
||||
|
||||
## 2. 技术方案
|
||||
|
||||
### 2.1 推荐方案: bili-auth + 公开API
|
||||
|
||||
**架构设计**
|
||||
```
|
||||
用户 → OpenClaw 技能
|
||||
↓
|
||||
[授权模块] → bili-auth 服务 → B站私信鉴权 → access_token
|
||||
↓
|
||||
[数据模块] → B站公开API (带Cookie/Token)
|
||||
↓
|
||||
返回关注列表/视频数据/动态更新
|
||||
```
|
||||
|
||||
**技术栈**
|
||||
- 授权: bili-auth (Python/Flask, OAuth 2.0)
|
||||
- API调用: REST API + Cookie/Token
|
||||
- 数据存储: 本地SQLite/JSON (用户授权信息)
|
||||
|
||||
### 2.2 方案对比
|
||||
|
||||
| 方案 | 可行性 | 成本 | 风险 | 推荐度 |
|
||||
|------|--------|------|------|--------|
|
||||
| **bili-auth** | ✅ 高 | 低 | 中 | ⭐⭐⭐⭐⭐ |
|
||||
| 官方API | ❌ 不可行 | 高 | 低 | - |
|
||||
| Cookie手动 | ✅ 中 | 低 | 高 | ⭐⭐ |
|
||||
|
||||
---
|
||||
|
||||
## 3. 功能规格 (MVP)
|
||||
|
||||
### 3.1 功能列表
|
||||
|
||||
| 功能 | 优先级 | 技术方案 | 数据范围 |
|
||||
|------|--------|----------|----------|
|
||||
| **用户授权** | P0 | bili-auth OAuth | 获取登录态 |
|
||||
| **关注列表** | P0 | `/x/relation/followings` | 全部关注UP主 |
|
||||
| **UP主动态** | P0 | `/x/polymer/web-dynamic/v1/feed/space` | 最新视频/动态 |
|
||||
| **视频搜索** | P1 | `/x/web-interface/search/type` | 关键词搜索 |
|
||||
| **热门榜单** | P1 | `/x/web-interface/popular` | 全站热门 |
|
||||
| **视频详情** | P1 | `/x/web-interface/view` | 播放量/互动数据 |
|
||||
|
||||
### 3.2 非功能需求
|
||||
|
||||
| 需求 | 指标 |
|
||||
|------|------|
|
||||
| **响应时间** | API调用 < 3秒 |
|
||||
| **可用性** | 服务可用时间 > 95% |
|
||||
| **频率限制** | 单账号 < 200次/分钟 |
|
||||
| **数据缓存** | 视频详情 1h,动态 5min |
|
||||
|
||||
---
|
||||
|
||||
## 4. 风险评估与缓解
|
||||
|
||||
### 4.1 账号封禁风险
|
||||
|
||||
| 等级 | 描述 | 概率 | 影响 |
|
||||
|------|------|------|------|
|
||||
| 🟡 中 | 机器人账号被封 | 中 | 用户需重新授权 |
|
||||
|
||||
**缓解措施**
|
||||
- ✅ 使用小号作为机器人(非主号)
|
||||
- ✅ 频率控制(< 200次/分钟)
|
||||
- ✅ 添加随机延迟(100-500ms)
|
||||
- ✅ 异常时自动降速
|
||||
|
||||
### 4.2 API变动风险
|
||||
|
||||
| 等级 | 描述 | 概率 | 影响 |
|
||||
|------|------|------|------|
|
||||
| 🟡 中 | B站调整API接口 | 中 | 需更新技能代码 |
|
||||
|
||||
**缓解措施**
|
||||
- ✅ 封装API调用层,便于统一修改
|
||||
- ✅ 监控社区动态(bili-auth项目)
|
||||
- ✅ 设计优雅降级(接口失效时友好提示)
|
||||
|
||||
### 4.3 合规风险
|
||||
|
||||
| 等级 | 描述 | 概率 | 影响 |
|
||||
|------|------|------|------|
|
||||
| 🟢 低 | 违反B站服务条款 | 低 | 技能下架 |
|
||||
|
||||
**缓解措施**
|
||||
- ✅ 明确免责声明(非官方,用户自担风险)
|
||||
- ✅ 仅读取公开数据,不修改用户数据
|
||||
- ✅ 不爬取隐私数据(私信、手机号等)
|
||||
|
||||
---
|
||||
|
||||
## 5. 实施计划
|
||||
|
||||
### 5.1 开发里程碑
|
||||
|
||||
| 阶段 | 时间 | 交付物 |
|
||||
|------|------|--------|
|
||||
| **Week 1** | 原型开发 | bili-auth集成 + 1个核心API |
|
||||
| **Week 2** | MVP完成 | 全部P0功能 + 基础测试 |
|
||||
| **Week 3** | 优化迭代 | P1功能 + 错误处理 + 文档 |
|
||||
| **Week 4** | 发布准备 | 完整测试 + 发布到ClawHub |
|
||||
|
||||
### 5.2 技术任务分解
|
||||
|
||||
```
|
||||
├── 授权模块
|
||||
│ ├── bili-auth服务部署
|
||||
│ ├── OAuth流程集成
|
||||
│ └── Token刷新机制
|
||||
├── 数据模块
|
||||
│ ├── 关注列表获取
|
||||
│ ├── UP主动态监控
|
||||
│ ├── 视频搜索
|
||||
│ └── 缓存实现
|
||||
├── 交互模块
|
||||
│ ├── 自然语言指令
|
||||
│ ├── 列表展示
|
||||
│ └── 更新提醒
|
||||
└── 基础设施
|
||||
├── 错误处理
|
||||
├── 日志记录
|
||||
└── 频率限制
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. 资源需求
|
||||
|
||||
### 6.1 开发资源
|
||||
|
||||
| 资源 | 需求 | 说明 |
|
||||
|------|------|------|
|
||||
| **人力** | 1人 | 开发者(可借助AI辅助)|
|
||||
| **时间** | 2-3周 | 兼职开发 |
|
||||
| **服务器** | 可选 | bili-auth可本地/Docker部署 |
|
||||
|
||||
### 6.2 外部依赖
|
||||
|
||||
| 依赖 | 风险 | 备用方案 |
|
||||
|------|------|----------|
|
||||
| bili-auth项目 | 中 | 可fork维护 |
|
||||
| B站公开API | 中 | 接口变动时适配 |
|
||||
|
||||
---
|
||||
|
||||
## 7. 成功标准
|
||||
|
||||
### 7.1 功能标准
|
||||
- [ ] 用户可通过私信完成授权
|
||||
- [ ] 成功获取关注列表(>50个UP主)
|
||||
- [ ] 成功监控UP主更新(检测新视频)
|
||||
- [ ] 支持视频搜索并返回结果
|
||||
|
||||
### 7.2 性能标准
|
||||
- [ ] API响应时间 < 3秒(95分位)
|
||||
- [ ] 单账号日调用 < 10000次
|
||||
- [ ] 无412风控错误(正常使用时)
|
||||
|
||||
---
|
||||
|
||||
## 8. 建议与下一步行动
|
||||
|
||||
### 8.1 立即行动
|
||||
1. ✅ ** fork bili-auth 项目** — 防止原项目变动
|
||||
2. ✅ **创建技能脚手架** — SKILL.md + 项目结构
|
||||
3. ✅ **本地部署bili-auth** — 验证授权流程
|
||||
|
||||
### 8.2 设计决策
|
||||
1. **授权方式**: 使用 bili-auth 标准OAuth
|
||||
2. **数据存储**: 本地SQLite存储授权信息
|
||||
3. **更新策略**: 轮询检查(5-10分钟间隔)
|
||||
4. **错误处理**: 412错误自动降速+重试
|
||||
|
||||
### 8.3 长期规划
|
||||
- Phase 2: 添加更多数据源(评论、弹幕)
|
||||
- Phase 3: 智能推荐(基于观看历史)
|
||||
- Phase 4: 关注官方开放平台动态,适时迁移
|
||||
|
||||
---
|
||||
|
||||
## 附录
|
||||
|
||||
### 附录A: 参考资料
|
||||
- bili-auth GitHub: https://github.com/icyux/bili-auth
|
||||
- B站开放平台: https://open.bilibili.com
|
||||
- 调研笔记: `docs/research-notes/`
|
||||
|
||||
### 附录B: 相关文档
|
||||
- Phase 1.1: [官方平台调研](docs/research-notes/phase-1.1-official-platform.md)
|
||||
- Phase 1.2: [bili-auth调研](docs/research-notes/phase-1.2-bili-auth.md)
|
||||
- Phase 1.3: [方案对比](docs/research-notes/phase-1.3-auth-comparison.md)
|
||||
- Phase 2: [数据API调研](docs/research-notes/phase-2-data-api.md)
|
||||
|
||||
---
|
||||
|
||||
**报告结束**
|
||||
|
||||
*本文档由 OpenClaw 自动生成,基于 2026-02-06 的调研结果*
|
||||
@@ -0,0 +1,92 @@
|
||||
# B站插件调研 - Phase 1.1 官方开放平台调研
|
||||
|
||||
**调研时间**: 2026-02-06
|
||||
**调研人**: 阿里巴巴助手
|
||||
|
||||
---
|
||||
|
||||
## 1. 官方开放平台概览
|
||||
|
||||
### 平台地址
|
||||
- 主站:https://openhome.bilibili.com/
|
||||
- 文档中心:https://open.bilibili.com/doc/
|
||||
- 直播开放平台:https://open-live.bilibili.com/
|
||||
|
||||
### 关键发现 ⚠️
|
||||
|
||||
**暂不开放个人开发者申请**
|
||||
> 根据幂简集成文档:"暂未开通个人开发者的申请入驻"
|
||||
|
||||
这是官方开放平台的最大门槛 —— 只接受企业/机构开发者,个人开发者无法直接申请。
|
||||
|
||||
---
|
||||
|
||||
## 2. 开发者类型对比
|
||||
|
||||
| 类型 | 是否开放 | 适用场景 | 限制 |
|
||||
|------|----------|----------|------|
|
||||
| **企业开发者** | ✅ 开放 | 机构、UP主、品牌服务商 | 需企业资质 |
|
||||
| **个人开发者** | ❌ 暂不开放 | - | 无法申请 |
|
||||
| **直播个人开发者** | ✅ 开放 | 直播相关应用 | 仅限直播API |
|
||||
|
||||
### 直播开放平台特例
|
||||
直播子平台有个人开发者入口:https://open-live.bilibili.com/open-register-form/personal
|
||||
- 可以申请,但API范围仅限于直播相关功能
|
||||
- 无法获取用户关注列表、视频数据等核心功能
|
||||
|
||||
---
|
||||
|
||||
## 3. 官方API能力(企业开发者)
|
||||
|
||||
### 认证方式
|
||||
- OAuth 2.0 授权码模式
|
||||
- 需要申请 appkey + appsecret
|
||||
|
||||
### API分类
|
||||
根据文档结构,官方提供:
|
||||
1. **基础服务** - 用户信息、视频信息
|
||||
2. **行业解决方案** - 针对不同行业的定制方案
|
||||
3. **直播服务** - 直播间管理、弹幕等
|
||||
|
||||
### 申请流程(企业)
|
||||
1. 注册/登录开放平台账号
|
||||
2. 身份认证(企业资质)
|
||||
3. 创建应用,填写申请理由
|
||||
4. 等待审核
|
||||
5. 获取 appkey/appsecret
|
||||
6. 调用API
|
||||
|
||||
---
|
||||
|
||||
## 4. 限制与门槛总结
|
||||
|
||||
### 硬性门槛
|
||||
- ❌ 个人开发者无法申请
|
||||
- ❌ 需要企业营业执照等资质
|
||||
- ❌ 申请理由需详细说明应用场景
|
||||
|
||||
### 软限制
|
||||
- 审核周期不确定
|
||||
- API调用可能有频率限制
|
||||
- 某些敏感数据可能需要额外权限
|
||||
|
||||
---
|
||||
|
||||
## 5. 结论
|
||||
|
||||
**官方开放平台对个人的可行性:低**
|
||||
|
||||
对于个人用户或小型项目:
|
||||
- 无法直接申请官方API
|
||||
- 必须通过第三方方案或企业合作
|
||||
|
||||
**推荐替代方案**:
|
||||
1. **bili-auth** - 私信鉴权的第三方OAuth
|
||||
2. **bilibili-API-collect** - 已归档但仍有参考价值
|
||||
3. **直播开放平台** - 如果仅需直播功能
|
||||
|
||||
---
|
||||
|
||||
## 6. 下一步调研
|
||||
|
||||
进入 Phase 1.2 - 第三方方案调研(bili-auth 实现原理)
|
||||
@@ -0,0 +1,128 @@
|
||||
# B站插件调研 - Phase 1.2 第三方方案调研(bili-auth)
|
||||
|
||||
**调研时间**: 2026-02-06
|
||||
**调研人**: 阿里巴巴助手
|
||||
|
||||
---
|
||||
|
||||
## 1. bili-auth 项目概览
|
||||
|
||||
### 项目信息
|
||||
- **GitHub**: https://github.com/icyux/bili-auth
|
||||
- **描述**: 第三方哔哩哔哩 OAuth 2.0 API,基于私信鉴权
|
||||
- **核心卖点**: 无需官方开发者申请,任何用户都可使用
|
||||
|
||||
### 技术栈
|
||||
- 后端: Python + Flask
|
||||
- 协议: OAuth 2.0 标准流程
|
||||
- 鉴权方式: B站私信(普通用户API)
|
||||
|
||||
---
|
||||
|
||||
## 2. 实现原理
|
||||
|
||||
### 核心流程
|
||||
```
|
||||
用户访问第三方应用
|
||||
↓
|
||||
应用重定向到 bili-auth 授权页
|
||||
↓
|
||||
用户按指引发送一条特定私信给机器人账号
|
||||
↓
|
||||
机器人验证私信内容,完成鉴权
|
||||
↓
|
||||
返回 OAuth 2.0 标准授权码
|
||||
↓
|
||||
应用用授权码换取 access_token
|
||||
```
|
||||
|
||||
### 私信鉴权机制
|
||||
- 用户需要向指定的B站账号发送一条私信
|
||||
- 私信内容包含临时验证码或特定指令
|
||||
- 机器人账号读取私信,确认用户身份
|
||||
- 整个过程模拟正常用户行为
|
||||
|
||||
### 部署方式
|
||||
- 提供 Docker 镜像一键部署
|
||||
- 只需一个能收发私信的B站账号作为"机器人"
|
||||
- 支持自定义 OAuth 应用管理
|
||||
|
||||
---
|
||||
|
||||
## 3. 与官方方案对比
|
||||
|
||||
| 维度 | bili-auth (第三方) | B站官方开放平台 |
|
||||
|------|-------------------|----------------|
|
||||
| **准入门槛** | ✅ 极低,有B站号即可 | ❌ 仅企业开发者 |
|
||||
| **开发成本** | ✅ 低,标准OAuth 2.0 | ⚠️ 中,需申请审核 |
|
||||
| **用户体验** | ⚠️ 需发私信,多一步操作 | ✅ 标准授权页 |
|
||||
| **功能范围** | ⚠️ 仅限普通用户API | ✅ 全量官方API |
|
||||
| **稳定性** | ❌ 非官方,接口可能变动 | ✅ 官方保障 |
|
||||
| **合规风险** | ❌ 灰色地带 | ✅ 完全合规 |
|
||||
| **账号安全** | ❌ 有被封风险 | ✅ 官方支持 |
|
||||
|
||||
---
|
||||
|
||||
## 4. 风险评估
|
||||
|
||||
### 4.1 账号封禁风险
|
||||
|
||||
#### 风险来源
|
||||
- 机器人账号频繁收发私信,触发风控
|
||||
- 短时间内大量鉴权请求,被判定为异常行为
|
||||
- B站更新私信API,导致功能失效
|
||||
|
||||
#### 风险等级
|
||||
| 场景 | 风险等级 | 说明 |
|
||||
|------|----------|------|
|
||||
| 个人自用(<10次/天) | 🟡 低 | 行为接近正常用户 |
|
||||
| 小范围使用(<100次/天) | 🟠 中 | 可能触发轻度风控 |
|
||||
| 大规模部署(>1000次/天) | 🔴 高 | 极易被封号/封私信 |
|
||||
|
||||
#### 缓解策略
|
||||
- 使用小号作为机器人,避免主号风险
|
||||
- 控制鉴权频率,模拟真人操作间隔
|
||||
- 实现优雅降级,接口失效时提醒用户
|
||||
- 准备备用账号,主号被封可快速切换
|
||||
|
||||
### 4.2 API 限制
|
||||
|
||||
#### 数据获取能力
|
||||
- ✅ 可获取:用户基础信息、关注列表、视频信息、搜索
|
||||
- ❌ 无法获取:敏感数据(如私信内容、手机号)、官方限制接口
|
||||
|
||||
#### 频率限制
|
||||
- 依赖B站普通用户的API限制
|
||||
- 未登录/低等级账号限制更严格
|
||||
- 建议实现本地缓存,减少API调用
|
||||
|
||||
### 4.3 长期维护风险
|
||||
|
||||
- 项目作者可能停止维护
|
||||
- B站可能调整私信API
|
||||
- 法律合规性存疑
|
||||
|
||||
---
|
||||
|
||||
## 5. 结论
|
||||
|
||||
### 可行性评估
|
||||
- **短期(个人使用)**: ✅ **可行**
|
||||
- **中期(小范围分享)**: 🟡 **有条件可行**
|
||||
- **长期(大规模部署)**: ❌ **不推荐**
|
||||
|
||||
### 推荐方案
|
||||
对于 OpenClaw 技能开发:
|
||||
1. **采用 bili-auth 方案** 作为个人用户的临时解决方案
|
||||
2. **明确风险提示**,让用户知晓账号封禁可能性
|
||||
3. **设计降级方案**,接口失效时不影响核心功能
|
||||
4. **持续关注** 官方开放平台动态,如有个人开发者通道,及时迁移
|
||||
|
||||
### 下一步建议
|
||||
进入 Phase 2 - 数据获取能力调研,验证 bili-auth 能获取到哪些具体数据。
|
||||
|
||||
---
|
||||
|
||||
## 参考资料
|
||||
- bili-auth GitHub: https://github.com/icyux/bili-auth
|
||||
- bili-auth 作者博客: https://blog.icyu.me/post/1626001
|
||||
@@ -0,0 +1,140 @@
|
||||
# B站插件调研 - Phase 1.3 授权方案对比与推荐
|
||||
|
||||
**调研时间**: 2026-02-06
|
||||
**调研人**: 阿里巴巴助手
|
||||
|
||||
---
|
||||
|
||||
## 方案对比总表
|
||||
|
||||
| 评估维度 | B站官方开放平台 | bili-auth 第三方方案 |
|
||||
|----------|----------------|---------------------|
|
||||
| **准入门槛** | ❌ 仅企业开发者 | ✅ 任何B站用户 |
|
||||
| **申请流程** | 复杂(注册→认证→审核→开发)| 简单(部署即用)|
|
||||
| **授权体验** | ✅ 标准OAuth页面 | ⚠️ 需发送私信 |
|
||||
| **功能完整性** | ✅ 全量API | ⚠️ 普通用户API |
|
||||
| **稳定性** | ✅ 官方保障 | ❌ 依赖非公开接口 |
|
||||
| **合规性** | ✅ 100%合规 | ❌ 灰色地带 |
|
||||
| **账号风险** | ✅ 无风险 | 🟡 有小号风险 |
|
||||
| **开发成本** | 高(需企业资质)| 低(Docker一键部署)|
|
||||
| **维护成本** | 低(官方维护)| 中(需关注接口变动)|
|
||||
| **扩展性** | 强 | 弱 |
|
||||
|
||||
---
|
||||
|
||||
## 决策矩阵
|
||||
|
||||
### 场景分析
|
||||
|
||||
| 使用场景 | 推荐方案 | 理由 |
|
||||
|----------|----------|------|
|
||||
| 企业/机构项目 | **官方开放平台** | 合规、稳定、功能完整 |
|
||||
| 个人学习/实验 | **bili-auth** | 门槛低,快速验证想法 |
|
||||
| 小团队内部工具 | **bili-auth** | 成本可控,风险可接受 |
|
||||
| 商业产品/大规模 | **官方开放平台** | 合规要求,长期稳定 |
|
||||
| OpenClaw 技能 | **bili-auth** | 用户即开即用,无需企业资质 |
|
||||
|
||||
---
|
||||
|
||||
## 推荐方案(OpenClaw 技能)
|
||||
|
||||
### 主方案: bili-auth 私信鉴权
|
||||
|
||||
**推荐理由:**
|
||||
1. ✅ **零门槛**:用户无需申请开发者资质
|
||||
2. ✅ **快速可用**:部署后即可使用
|
||||
3. ✅ **标准协议**:OAuth 2.0,与官方体验接近
|
||||
4. ✅ **成本可控**:只需一个小号作为机器人
|
||||
|
||||
**风险控制:**
|
||||
1. ⚠️ **小号策略**:明确告知用户使用小号,避免主号风险
|
||||
2. ⚠️ **频率限制**:技能内建限流,避免触发风控
|
||||
3. ⚠️ **降级设计**:接口失效时优雅降级,不崩溃
|
||||
4. ⚠️ **免责声明**:明确说明非官方方案,用户自担风险
|
||||
|
||||
### 备选方案: 手动Cookie模式
|
||||
|
||||
**适用场景:**
|
||||
- bili-auth 不可用时
|
||||
- 用户不愿授权第三方服务
|
||||
|
||||
**实现方式:**
|
||||
- 用户从浏览器复制Cookie
|
||||
- 技能直接调用B站API
|
||||
- 无需机器人账号
|
||||
|
||||
**风险:**
|
||||
- Cookie泄露风险
|
||||
- 有效期短,需频繁更新
|
||||
- 同样存在封号风险
|
||||
|
||||
---
|
||||
|
||||
## 技术架构建议
|
||||
|
||||
### 推荐架构
|
||||
|
||||
```
|
||||
用户 → OpenClaw 技能
|
||||
↓
|
||||
[授权模块]
|
||||
↓
|
||||
├─→ bili-auth 服务(自建或公共)
|
||||
│ ↓
|
||||
│ B站私信鉴权
|
||||
│ ↓
|
||||
└─← access_token
|
||||
↓
|
||||
[数据获取模块]
|
||||
↓
|
||||
B站公开API调用
|
||||
↓
|
||||
返回数据给OpenClaw
|
||||
```
|
||||
|
||||
### MVP 功能范围(bili-auth 方案)
|
||||
|
||||
**Phase 1 - 基础功能**
|
||||
- [ ] 用户授权(bili-auth 集成)
|
||||
- [ ] 获取关注列表
|
||||
- [ ] 获取UP主动态
|
||||
- [ ] 视频搜索
|
||||
|
||||
**Phase 2 - 扩展功能**
|
||||
- [ ] 视频详情获取
|
||||
- [ ] 播放历史(如有权限)
|
||||
- [ ] 收藏列表(如有权限)
|
||||
|
||||
**Phase 3 - 高级功能**
|
||||
- [ ] 自动追更提醒
|
||||
- [ ] 数据分析
|
||||
|
||||
---
|
||||
|
||||
## Go / No-Go 决策
|
||||
|
||||
### 结论: ✅ Go
|
||||
|
||||
**理由:**
|
||||
1. bili-auth 方案技术可行
|
||||
2. 风险可控(小号策略+频率限制)
|
||||
3. 能满足核心需求(获取关注列表、追更)
|
||||
4. 用户价值明确(解决无法官方API的问题)
|
||||
|
||||
**前提条件:**
|
||||
1. 明确告知用户风险
|
||||
2. 使用小号作为机器人
|
||||
3. 实现频率限制
|
||||
4. 准备降级方案
|
||||
|
||||
---
|
||||
|
||||
## 下一步行动
|
||||
|
||||
进入 **Phase 2 - 数据获取能力调研**,验证以下API是否可用:
|
||||
- 用户信息获取
|
||||
- 关注列表获取
|
||||
- 视频搜索
|
||||
- 视频详情
|
||||
|
||||
同时开始 **Phase 5 - 原型开发** 的准备工作。
|
||||
@@ -0,0 +1,218 @@
|
||||
# B站插件调研 - Phase 2 数据获取能力调研
|
||||
|
||||
**调研时间**: 2026-02-06
|
||||
**调研人**: 阿里巴巴助手
|
||||
**数据来源**: bili-auth 项目文档、B站Web API分析、社区经验
|
||||
|
||||
---
|
||||
|
||||
## 2.1 用户数据API能力
|
||||
|
||||
### ✅ 可获取数据
|
||||
|
||||
| 数据类型 | API端点 | 说明 | 是否需要登录 |
|
||||
|----------|---------|------|-------------|
|
||||
| **用户基础信息** | `api.bilibili.com/x/space/acc/info` | 用户名、头像、等级、签名 | 否 |
|
||||
| **用户状态数** | `api.bilibili.com/x/relation/stat` | 关注数、粉丝数 | 否 |
|
||||
| **关注列表** | `api.bilibili.com/x/relation/followings` | 用户的关注列表(分页)| 是(Cookie)|
|
||||
| **粉丝列表** | `api.bilibili.com/x/relation/followers` | 用户的粉丝列表 | 是 |
|
||||
| **UP主动态** | `api.bilibili.com/x/polymer/web-dynamic/v1/feed/space` | 用户发布的动态 | 否 |
|
||||
| **投稿视频** | `api.bilibili.com/x/space/arc/search` | 用户上传的视频列表 | 否 |
|
||||
|
||||
### ❌ 无法获取(需特殊权限)
|
||||
|
||||
| 数据类型 | 说明 |
|
||||
|----------|------|
|
||||
| **观看历史** | 需登录态,且仅限本人 |
|
||||
| **收藏列表** | 需登录态,且仅限本人 |
|
||||
| **稍后再看** | 需登录态,且仅限本人 |
|
||||
| **私信内容** | 隐私数据,无法获取 |
|
||||
| **手机号/邮箱** | 敏感信息,无法获取 |
|
||||
| **实名信息** | 隐私数据,无法获取 |
|
||||
|
||||
---
|
||||
|
||||
## 2.2 视频数据API能力
|
||||
|
||||
### ✅ 可获取数据
|
||||
|
||||
| 数据类型 | API端点 | 说明 |
|
||||
|----------|---------|------|
|
||||
| **视频详情** | `api.bilibili.com/x/web-interface/view` | 标题、描述、播放量、点赞数等 |
|
||||
| **视频搜索** | `api.bilibili.com/x/web-interface/search/type` | 关键词搜索视频 |
|
||||
| **热门视频** | `api.bilibili.com/x/web-interface/popular` | 全站热门榜单 |
|
||||
| **排行榜** | `api.bilibili.com/x/web-interface/ranking/v2` | 分区排行榜 |
|
||||
| **视频流** | `api.bilibili.com/x/web-interface/index/top` | 首页推荐 |
|
||||
| **分P信息** | `api.bilibili.com/x/player/pagelist` | 多P视频的分集信息 |
|
||||
| **弹幕** | `api.bilibili.com/x/v1/dm/list.so` | 视频弹幕(XML格式)|
|
||||
| **评论** | `api.bilibili.com/x/v2/reply` | 视频评论列表 |
|
||||
|
||||
### 视频详情字段示例
|
||||
|
||||
```json
|
||||
{
|
||||
"bvid": "BV1xx411c7mD",
|
||||
"title": "视频标题",
|
||||
"desc": "视频描述",
|
||||
"owner": {
|
||||
"mid": 123456,
|
||||
"name": "UP主名称"
|
||||
},
|
||||
"stat": {
|
||||
"view": 100000, // 播放量
|
||||
"like": 5000, // 点赞
|
||||
"coin": 1000, // 投币
|
||||
"favorite": 2000, // 收藏
|
||||
"share": 500, // 分享
|
||||
"reply": 300 // 评论
|
||||
},
|
||||
"duration": 600, // 时长(秒)
|
||||
"pubdate": 1609459200 // 发布时间
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2.3 互动数据API能力
|
||||
|
||||
### ✅ 可获取数据
|
||||
|
||||
| 数据类型 | 说明 | 限制 |
|
||||
|----------|------|------|
|
||||
| **评论列表** | 视频的评论及回复 | 公开数据 |
|
||||
| **弹幕列表** | 视频的弹幕内容 | 公开数据,需解析XML |
|
||||
| **点赞/投币/收藏数** | 视频的互动统计 | 公开数据 |
|
||||
| **分享数** | 视频被分享次数 | 公开数据 |
|
||||
|
||||
### ❌ 无法获取
|
||||
|
||||
| 数据类型 | 说明 |
|
||||
|----------|------|
|
||||
| **用户是否点赞** | 需登录态 |
|
||||
| **用户是否投币** | 需登录态 |
|
||||
| **用户是否收藏** | 需登录态 |
|
||||
| **用户播放进度** | 隐私数据 |
|
||||
|
||||
---
|
||||
|
||||
## 2.4 API限制与风控
|
||||
|
||||
### 频率限制
|
||||
|
||||
| 场景 | 限制 | 说明 |
|
||||
|------|------|------|
|
||||
| **未登录请求** | 约 100次/分钟 | IP级别限制 |
|
||||
| **登录后请求** | 约 300次/分钟 | 账号级别限制 |
|
||||
| **搜索接口** | 约 30次/分钟 | 较严格 |
|
||||
| **评论接口** | 约 60次/分钟 | 防刷机制 |
|
||||
|
||||
### 反爬机制
|
||||
|
||||
| 机制 | 触发条件 | 应对策略 |
|
||||
|------|----------|----------|
|
||||
| **412 Precondition Failed** | 请求过快、UA异常 | 降低频率、使用正常UA |
|
||||
| **-412 风控** | IP被封 | 更换IP、使用代理 |
|
||||
| **验证码** | 异常行为 | 人工介入或暂停 |
|
||||
| **-401 未登录** | Cookie失效 | 重新授权 |
|
||||
|
||||
### 请求头要求
|
||||
|
||||
```
|
||||
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
|
||||
Referer: https://www.bilibili.com
|
||||
Origin: https://www.bilibili.com
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2.5 bili-auth 授权后可获取的数据范围
|
||||
|
||||
### 通过 bili-auth 获得的凭证
|
||||
|
||||
bili-auth 提供标准 OAuth 2.0 流程,返回:
|
||||
- `access_token` - 访问令牌
|
||||
- `refresh_token` - 刷新令牌(可选)
|
||||
- `expires_in` - 过期时间
|
||||
|
||||
### 实际可用数据
|
||||
|
||||
bili-auth 本身**不提供额外的API能力**,它只是一个授权桥梁。获得 access_token 后,实际能调用的API仍然是 B站公开API。
|
||||
|
||||
**关键限制**:
|
||||
- bili-auth 不直接提供 Cookie
|
||||
- 某些 API 需要 SESSDATA 等 Cookie 字段
|
||||
- 部分用户数据(如观看历史)需要完整的登录态
|
||||
|
||||
### 推荐的数据获取策略
|
||||
|
||||
```
|
||||
方案A: bili-auth + 公开API(推荐)
|
||||
- 使用 bili-auth 获取用户身份
|
||||
- 调用公开 API 获取视频数据、UP主动态
|
||||
- 无需处理 Cookie
|
||||
|
||||
方案B: bili-auth + Cookie 模拟(进阶)
|
||||
- 从授权流程中提取 Cookie
|
||||
- 获取更全面的用户数据
|
||||
- 风险更高,需更谨慎
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2.6 数据获取能力总结
|
||||
|
||||
### ✅ 可实现的 MVP 功能
|
||||
|
||||
| 功能 | 数据支持 | 可行性 |
|
||||
|------|----------|--------|
|
||||
| **关注UP主列表** | ✅ 关注列表 API | 高 |
|
||||
| **UP主动态监控** | ✅ 空间动态 API | 高 |
|
||||
| **新视频提醒** | ✅ 投稿列表 API | 高 |
|
||||
| **视频搜索** | ✅ 搜索 API | 高 |
|
||||
| **视频详情查看** | ✅ 视频详情 API | 高 |
|
||||
| **热门/排行榜** | ✅ 排行榜 API | 高 |
|
||||
|
||||
### ⚠️ 受限的功能
|
||||
|
||||
| 功能 | 限制 | 替代方案 |
|
||||
|------|------|----------|
|
||||
| **观看历史同步** | 需完整登录态 | 仅支持公开数据 |
|
||||
| **收藏夹同步** | 需完整登录态 | 仅支持公开收藏 |
|
||||
| **一键三连** | 需登录态+风控 | 不支持 |
|
||||
| **发送评论/弹幕** | 需登录态+风控 | 不支持 |
|
||||
|
||||
### ❌ 无法实现的功能
|
||||
|
||||
| 功能 | 原因 |
|
||||
|------|------|
|
||||
| **查看私信** | 隐私数据,无API |
|
||||
| **修改个人资料** | 需完整登录态 |
|
||||
| **投稿视频** | 需完整登录态+上传接口 |
|
||||
| **直播操作** | 需直播开放平台权限 |
|
||||
|
||||
---
|
||||
|
||||
## 2.7 技术实现建议
|
||||
|
||||
### API 调用最佳实践
|
||||
|
||||
1. **缓存策略**
|
||||
- 视频详情缓存 1小时
|
||||
- 用户资料缓存 24小时
|
||||
- 动态列表缓存 5分钟
|
||||
|
||||
2. **错误处理**
|
||||
- 412 错误 → 自动降速 + 重试
|
||||
- -401 错误 → 提示重新授权
|
||||
- 网络错误 → 指数退避重试
|
||||
|
||||
3. **频率控制**
|
||||
- 单账号请求 < 200次/分钟
|
||||
- 添加随机延迟 100-500ms
|
||||
- 使用队列管理请求
|
||||
|
||||
---
|
||||
|
||||
## 下一步行动
|
||||
|
||||
进入 **Phase 3 - 风险评估**(已完成大部分,需整理文档)和 **Phase 4 - 对标分析**
|
||||
@@ -0,0 +1,337 @@
|
||||
# B站收藏夹 API 深度调研
|
||||
|
||||
**调研时间**: 2026-02-06
|
||||
**调研人**: 阿里巴巴助手
|
||||
**文档类型**: 技术补充调研
|
||||
|
||||
---
|
||||
|
||||
## 1. 收藏夹隐私机制
|
||||
|
||||
### 1.1 公开 vs 私密
|
||||
|
||||
B站收藏夹支持两种隐私状态:
|
||||
|
||||
| 状态 | 说明 | 谁能查看 |
|
||||
|------|------|----------|
|
||||
| **公开** | 用户主动设置为公开 | 任何人(包括未登录用户)|
|
||||
| **私密** | 默认状态 | 仅用户本人 |
|
||||
|
||||
### 1.2 设置方式
|
||||
|
||||
用户需要在两个地方设置才能完全公开:
|
||||
1. **电脑端**: 收藏夹管理 → 编辑 → 设置公开
|
||||
2. **手机端**: 设置 → 安全隐私 → 空间隐私设置 → 公开显示我的收藏
|
||||
|
||||
> ⚠️ **关键发现**: 很多用户不知道需要同时设置两端,导致"设置了公开但别人看不到"
|
||||
|
||||
### 1.3 对用户的影响
|
||||
|
||||
- **默认情况**: 所有收藏夹都是**私密的**
|
||||
- **大多数用户**: 不会主动设置为公开
|
||||
- **实际可用性**: 获取他人收藏夹内容非常有限
|
||||
|
||||
---
|
||||
|
||||
## 2. 收藏夹 API 详情
|
||||
|
||||
### 2.1 API 端点汇总
|
||||
|
||||
#### 获取用户创建的所有收藏夹列表
|
||||
```
|
||||
GET https://api.bilibili.com/x/v3/fav/folder/created/list-all
|
||||
```
|
||||
|
||||
**参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| up_mid | num | 是 | 目标用户mid |
|
||||
| type | num | 否 | 0=全部, 2=视频稿件 |
|
||||
| rid | num | 否 | 目标内容id(查询某视频在哪些收藏夹)|
|
||||
|
||||
**认证**: Cookie (SESSDATA) 或 APP
|
||||
|
||||
**注**: 查询私密收藏夹时需要相应用户登录
|
||||
|
||||
#### 获取收藏夹元数据
|
||||
```
|
||||
GET https://api.bilibili.com/x/v3/fav/folder/info
|
||||
```
|
||||
|
||||
**参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| media_id | num | 是 | 收藏夹完整id(fid + mid后2位)|
|
||||
|
||||
**返回关键字段**:
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"id": 1052622027, // 收藏夹完整id
|
||||
"fid": 10526220, // 收藏夹原始id
|
||||
"mid": 509372, // 创建者mid
|
||||
"title": "收藏夹标题",
|
||||
"cover": "封面URL",
|
||||
"media_count": 100, // 内容数量
|
||||
"state": 0, // 状态(0=正常)
|
||||
"fav_state": 0, // 是否已收藏(需登录)
|
||||
"cnt_info": {
|
||||
"collect": 50, // 被收藏数
|
||||
"play": 10000, // 播放量
|
||||
"thumb_up": 100 // 点赞数
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### 获取收藏夹内容列表
|
||||
```
|
||||
GET https://api.bilibili.com/x/v3/fav/resource/list
|
||||
```
|
||||
|
||||
**参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| media_id | num | 是 | 收藏夹完整id |
|
||||
| pn | num | 否 | 页码,默认1 |
|
||||
| ps | num | 否 | 每页数量,默认20 |
|
||||
| keyword | str | 否 | 搜索关键词 |
|
||||
| order | str | 否 | 排序:mtime=收藏时间,view=播放量 |
|
||||
| type | num | 否 | 0=全部,2=视频 |
|
||||
| platform | str | 否 | web |
|
||||
|
||||
**认证**: Cookie (SESSDATA)
|
||||
|
||||
**返回字段**:
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"info": { /* 收藏夹信息 */ },
|
||||
"medias": [
|
||||
{
|
||||
"id": 583785685, // 视频avid
|
||||
"type": 2, // 2=视频稿件
|
||||
"title": "视频标题",
|
||||
"cover": "封面URL",
|
||||
"intro": "简介",
|
||||
"page": 1, // 分P数
|
||||
"duration": 600, // 时长(秒)
|
||||
"upper": {
|
||||
"mid": 123456,
|
||||
"name": "UP主昵称"
|
||||
},
|
||||
"cnt_info": {
|
||||
"play": 10000,
|
||||
"danmaku": 500,
|
||||
"collect": 100
|
||||
},
|
||||
"bv_id": "BV1xx411c7mD",
|
||||
"bvid": "BV1xx411c7mD",
|
||||
"pubtime": 1609459200, // 发布时间
|
||||
"fav_time": 1609545600 // 收藏时间
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### 批量获取内容信息
|
||||
```
|
||||
GET https://api.bilibili.com/x/v3/fav/resource/infos
|
||||
```
|
||||
|
||||
**参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| resources | str | 是 | 格式:`{id}:{type},{id}:{type}` |
|
||||
| platform | str | 否 | web |
|
||||
|
||||
**resources格式**:
|
||||
- `{内容id}:{内容类型}`
|
||||
- 类型: 2=视频稿件, 12=音频, 21=视频合集
|
||||
- 多个用逗号分隔
|
||||
|
||||
**示例**: `583785685:2,523:21,15664:12`
|
||||
|
||||
### 2.2 错误码说明
|
||||
|
||||
| code | 含义 | 说明 |
|
||||
|------|------|------|
|
||||
| 0 | 成功 | 正常返回 |
|
||||
| -400 | 请求错误 | 参数缺失或格式错误 |
|
||||
| -403 | 访问权限不足 | 收藏夹为私密,或Cookie无效 |
|
||||
| -404 | 不存在 | 收藏夹id不存在 |
|
||||
| -101 | 账号未登录 | SESSDATA失效或缺失 |
|
||||
| 11201 | 收藏夹不可见 | 私密收藏夹,无权限访问 |
|
||||
|
||||
---
|
||||
|
||||
## 3. 获取收藏夹的可行性分析
|
||||
|
||||
### 3.1 获取他人收藏夹
|
||||
|
||||
**可行性**: ⚠️ **很低**
|
||||
|
||||
**原因**:
|
||||
1. 默认私密,大多数用户不会公开
|
||||
2. 即使公开,也需要用户主动在两处设置
|
||||
3. 公开收藏夹通常只展示精选内容
|
||||
|
||||
**适用场景**:
|
||||
- 分析特定UP主的公开收藏(如教程合集)
|
||||
- 获取用户自己公开的收藏夹(需用户授权后)
|
||||
|
||||
### 3.2 获取自己的收藏夹
|
||||
|
||||
**可行性**: ✅ **高**
|
||||
|
||||
**前提条件**:
|
||||
1. 获取完整的 Cookie (SESSDATA)
|
||||
2. Cookie 未过期
|
||||
3. 账号状态正常
|
||||
|
||||
**bili-auth 方案的限制**:
|
||||
- bili-auth 返回 OAuth token,但**不直接提供 SESSDATA**
|
||||
- 部分 API 需要完整的 Cookie,不仅仅是 access_token
|
||||
- 可能需要额外步骤将 OAuth 凭证转换为可用 Cookie
|
||||
|
||||
### 3.3 技术路径对比
|
||||
|
||||
| 方案 | 可行性 | 复杂度 | 风险 |
|
||||
|------|--------|--------|------|
|
||||
| **OAuth + 公开收藏夹** | 🟡 低 | 低 | 低 |
|
||||
| **OAuth + Cookie提取** | ✅ 中 | 高 | 中 |
|
||||
| **手动Cookie输入** | ✅ 高 | 低 | 高(用户体验差)|
|
||||
|
||||
---
|
||||
|
||||
## 4. 对 OpenClaw 技能的影响
|
||||
|
||||
### 4.1 功能调整建议
|
||||
|
||||
**原规划**(包含收藏夹):
|
||||
- 获取关注列表 ✅
|
||||
- 监控UP主动态 ✅
|
||||
- 视频搜索 ✅
|
||||
- 收藏夹同步 ❌(受限)
|
||||
|
||||
**建议调整为**:
|
||||
|
||||
| 功能 | 优先级 | 说明 |
|
||||
|------|--------|------|
|
||||
| **我的收藏夹** | P1 → P2 | 需完整Cookie,实现复杂 |
|
||||
| **UP主公开收藏** | P2 | 仅展示UP主主动公开的内容 |
|
||||
| **收藏夹元数据** | P2 | 可获取标题、数量等基本信息 |
|
||||
|
||||
### 4.2 用户交互设计
|
||||
|
||||
**如果实现"我的收藏夹"功能**:
|
||||
|
||||
1. **授权时明确提示**:
|
||||
> "获取收藏夹需要完整登录态,可能存在账号风险,建议使用小号"
|
||||
|
||||
2. **降级方案**:
|
||||
- 如果无法获取收藏夹 → 提示用户手动输入Cookie
|
||||
- 或仅展示公开收藏夹内容
|
||||
|
||||
3. **功能限制**:
|
||||
- 仅读取,不提供"添加到收藏夹"功能
|
||||
- 仅展示前N个收藏夹,避免频繁调用
|
||||
|
||||
### 4.3 技术实现建议
|
||||
|
||||
**如果决定支持收藏夹**:
|
||||
|
||||
```python
|
||||
# 伪代码示例
|
||||
async def get_fav_list(uid, cookie):
|
||||
"""获取用户收藏夹列表"""
|
||||
url = "https://api.bilibili.com/x/v3/fav/folder/created/list-all"
|
||||
params = {"up_mid": uid}
|
||||
headers = {"Cookie": cookie}
|
||||
|
||||
resp = await fetch(url, params, headers)
|
||||
if resp.code == -403:
|
||||
return {"error": "收藏夹为私密或Cookie无效"}
|
||||
return resp.data
|
||||
|
||||
async def get_fav_content(media_id, cookie, pn=1):
|
||||
"""获取收藏夹内容"""
|
||||
url = "https://api.bilibili.com/x/v3/fav/resource/list"
|
||||
params = {
|
||||
"media_id": media_id,
|
||||
"pn": pn,
|
||||
"ps": 20,
|
||||
"platform": "web"
|
||||
}
|
||||
headers = {"Cookie": cookie}
|
||||
|
||||
resp = await fetch(url, params, headers)
|
||||
return resp.data
|
||||
```
|
||||
|
||||
**关键注意点**:
|
||||
- 缓存收藏夹列表(1小时)
|
||||
- 分页获取内容,避免单次请求过大
|
||||
- 错误处理:-403时友好提示用户
|
||||
|
||||
---
|
||||
|
||||
## 5. 结论与建议
|
||||
|
||||
### 5.1 关于收藏夹功能的结论
|
||||
|
||||
| 方面 | 评估 |
|
||||
|------|------|
|
||||
| **技术可行性** | ✅ 可实现,但需完整Cookie |
|
||||
| **用户可用性** | 🟡 中(需用户理解和授权)|
|
||||
| **数据完整性** | ⚠️ 受限(大部分为私密)|
|
||||
| **风险等级** | 🟡 中(需处理Cookie)|
|
||||
|
||||
### 5.2 MVP 功能建议
|
||||
|
||||
**Phase 1**: 不包含收藏夹功能
|
||||
- 聚焦:关注列表 + UP主动态 + 视频搜索
|
||||
- 更简单,风险更低
|
||||
|
||||
**Phase 2**: 可选添加收藏夹(如果用户需求强烈)
|
||||
- 实现"我的收藏夹"(需完整Cookie)
|
||||
- 明确提示风险
|
||||
- 提供降级方案
|
||||
|
||||
### 5.3 如果用户询问"为什么看不到收藏夹"
|
||||
|
||||
标准回答:
|
||||
> B站收藏夹默认是私密的,大部分用户不会主动公开。如果需要获取您的收藏夹,需要:
|
||||
> 1. 在B站设置中将其设为公开
|
||||
> 2. 或者提供完整登录Cookie(存在风险,建议使用小号)
|
||||
|
||||
---
|
||||
|
||||
## 附录
|
||||
|
||||
### API 快速参考
|
||||
|
||||
```bash
|
||||
# 获取用户收藏夹列表
|
||||
curl -G 'https://api.bilibili.com/x/v3/fav/folder/created/list-all' \
|
||||
--data-urlencode 'up_mid=509372' \
|
||||
-b 'SESSDATA=xxx'
|
||||
|
||||
# 获取收藏夹内容
|
||||
curl -G 'https://api.bilibili.com/x/v3/fav/resource/list' \
|
||||
--data-urlencode 'media_id=1052622027' \
|
||||
--data-urlencode 'pn=1' \
|
||||
--data-urlencode 'ps=20' \
|
||||
-b 'SESSDATA=xxx'
|
||||
```
|
||||
|
||||
### 相关文档
|
||||
- 主调研报告: [bilibili-plugin-feasibility.md](./bilibili-plugin-feasibility.md)
|
||||
- 数据API调研: [phase-2-data-api.md](./research-notes/phase-2-data-api.md)
|
||||
|
||||
---
|
||||
|
||||
*本文档为 B站插件调研的补充材料*
|
||||
Reference in New Issue
Block a user