核心用法
yt-api-cli 是一款面向开发者和自动化场景设计的 YouTube Data API v3 完整命令行工具,用 Go 编写,支持跨平台(Darwin/Linux)。核心能力覆盖:
- 内容检索:搜索公开视频、列出频道/我的视频/订阅/播放列表,支持多维度过滤(类型、时长、排序)
- 内容管理:视频上传、缩略图上传、播放列表创建与编辑、频道信息更新
- 认证体系:OAuth 2.0(交互式,默认)与 Service Account(服务端自动化)双模式
- 输出格式:JSON(默认,LLM 友好)、Table、YAML、CSV,stdin/stdout 全管道支持
显著优点
1. 自动化原生设计:JSON 默认输出、结构化错误、--quiet 静默模式、--dry-run 预检,专为脚本和 LLM 集成优化
2. 完整 API 覆盖:非只读工具,支持写入操作(上传、修改元数据、管理播放列表)
3. 诊断体系完善:内置连通性测试、权限检查、认证状态查询,便于故障排查
4. Go 生态交付:单二进制文件,无运行时依赖,go install 一键安装
潜在局限与风险
- API 配额敏感:YouTube Data API v3 有严格的每日配额限制(默认 10,000 units),高频操作或批量上传易触顶
- OAuth 令牌本地存储:令牌持久化至
~/.yt-api/tokens.json,依赖文件系统权限(0600),多用户环境需额外隔离 - 非 Google 官方出品:社区维护项目(nerveband),长期支持节奏不确定
- 写入操作不可逆:删除/更新操作无二次确认,脚本需自行实现幂等和备份逻辑
适合人群
- 需批量管理 YouTube 内容的创作者/MCN 技术团队
- 构建内容监控、自动上传管道的 DevOps/自动化工程师
- 在 AI 工作流中集成 YouTube 数据检索的 LLM 应用开发者
常规风险
| 风险点 | 说明 |
|--------|------|
| 凭证泄露 | Client ID/Secret 需通过环境变量或配置文件注入,硬编码有泄露风险 |
| 配额耗尽 | 生产环境必须实施配额监控和退避策略 |
| 权限边界 | Service Account 需显式配置 YouTube 频道权限,默认无访问权 |