核心用法
yt-api-cli 是一款基于 Go 语言开发的命令行工具,完整封装了 YouTube Data API v3 的功能。用户可通过终端完成视频列表查询、搜索、上传、播放列表管理、频道信息获取等操作。支持 OAuth 2.0 和服务账号两种认证方式,输出格式默认为 JSON(针对 LLM 优化),同时提供 YAML、CSV、Table 等格式选项。
主要功能模块
- 列表操作:获取个人视频、频道视频、播放列表、订阅列表
- 搜索功能:支持关键词、类型、时长、排序等多维度过滤
- 上传管理:视频上传、缩略图设置、元数据配置(标题、描述、标签、隐私设置)
- 播放列表:创建播放列表、添加/删除视频项
- 频道操作:获取频道统计信息、更新频道描述
安装与配置
支持 go install 安装或预编译二进制文件下载。需在 Google Cloud Console 创建 OAuth 2.0 凭证并配置 ~/.yt-api/config.yaml。首次使用需执行 yt-api auth login 完成浏览器授权。
显著优点
1. 完整的 API 覆盖:几乎涵盖 YouTube Data API v3 所有端点,单工具即可替代多套脚本
2. 开发者友好:JSON 默认输出、结构化错误码、--dry-run 验证模式,非常适合 CI/CD 和自动化工作流
3. 多认证方式:OAuth 适合个人使用,服务账号适合无人值守的服务器部署
4. 灵活的输出格式:CLI 交互可用表格,数据处理可用 JSON/CSV,管道传输友好
5. 权限管理:令牌文件采用 0600 权限存储,遵循安全最佳实践
潜在缺点与局限性
- 配额限制:YouTube Data API 有每日配额限制(默认 10,000 units),大规模操作易触发限流
- 审核门槛:上传视频需通过 Google 的 API 审核,新应用可能面临权限申请延迟
- 无内置重试:文档未提及自动重试机制,网络波动时需自行处理
- OAuth 令牌刷新:长期运行的自动化任务需处理令牌过期刷新逻辑
- 功能边界:仅支持 Data API,不涉及 YouTube Analytics API 或直播流管理
适合人群
- 需要批量管理 YouTube 内容的创作者和 MCN 机构
- 构建内容发布自动化的 DevOps 工程师
- 开发 YouTube 相关集成工具的软件开发者
- 需要通过 CLI 快速查询 YouTube 数据的分析师
常规风险
- 凭证泄露风险:
YT_API_CLIENT_SECRET等环境变量若写入 shell 历史或日志文件可能造成泄露 - 误操作风险:
update channel、delete playlist-item等命令无二次确认机制 - API 配额耗尽:批量操作未加限速控制可能导致当日服务不可用
- 隐私合规:自动化上传需确保内容符合 YouTube 社区准则及版权规定
- 第三方依赖:工具依赖 Google API 的稳定性,政策变更可能导致功能受限