OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  yt-api-cli:通过命令行管理你的个人 YouTube 账号

yt-api-cli:通过命令行管理你的个人 YouTube 账号

 
  infrastructure ·  2026-02-18 18:52:07 · 3 次点击  · 0 条评论  

名称: yt-api-cli
描述: 通过命令行管理您的 YouTube 账户。YouTube Data API v3 的完整 CLI 工具 - 可列表/搜索视频、上传、管理播放列表等。
元数据: {"clawdbot":{"emoji":"▶️","os":["darwin","linux"],"requires":{"env":["YT_API_AUTH_TYPE", "YT_API_CLIENT_ID", "YT_API_CLIENT_SECRET"]}}}


yt-api-cli

在终端中管理您的 YouTube 账户。一个完整的 YouTube Data API v3 命令行工具。

安装

# 使用 go install 安装
go install github.com/nerveband/youtube-api-cli/cmd/yt-api@latest

# 或从发布页面下载
curl -L -o yt-api https://github.com/nerveband/youtube-api-cli/releases/latest/download/yt-api-darwin-arm64
chmod +x yt-api
sudo mv yt-api /usr/local/bin/

配置

1. 设置 Google Cloud Console

  1. 访问 Google Cloud Console
  2. 创建或启用 YouTube Data API v3
  3. 创建 OAuth 2.0 凭据(桌面应用类型)
  4. 下载客户端配置文件

2. 配置 yt-api

mkdir -p ~/.yt-api
cat > ~/.yt-api/config.yaml << EOF
default_auth: oauth
default_output: json
oauth:
  client_id: "YOUR_CLIENT_ID"
  client_secret: "YOUR_CLIENT_SECRET"
EOF

3. 身份验证

yt-api auth login  # 打开浏览器进行 Google 登录
yt-api auth status # 检查认证状态

命令

列表操作

# 列出您的视频
yt-api list videos --mine

# 列出指定频道的视频
yt-api list videos --channel-id UC_x5XG1OV2P6uZZ5FSM9Ttw

# 列出播放列表
yt-api list playlists --mine

# 列出订阅内容
yt-api list subscriptions --mine

搜索

# 基础搜索
yt-api search --query "golang 教程"

# 带过滤条件的搜索
yt-api search --query "音乐" --type video --duration medium --order viewCount

上传操作

# 上传视频
yt-api upload video ./video.mp4 \
  --title "我的视频" \
  --description "视频描述" \
  --tags "标签1,标签2" \
  --privacy public

# 上传缩略图
yt-api upload thumbnail ./thumb.jpg --video-id VIDEO_ID

播放列表管理

# 创建播放列表
yt-api insert playlist --title "我的播放列表" --privacy private

# 向播放列表添加视频
yt-api insert playlist-item --playlist-id PLxxx --video-id VIDxxx

频道操作

# 获取频道信息
yt-api list channels --id UCxxx --part snippet,statistics

# 更新频道描述
yt-api update channel --id UCxxx --description "新的描述"

输出格式

# JSON (默认格式,适合 LLM 处理)
yt-api list videos --mine

# 表格 (便于人工阅读)
yt-api list videos --mine -o table

# YAML
yt-api list videos --mine -o yaml

# CSV
yt-api list videos --mine -o csv > videos.csv

全局参数

参数 简写 描述
--output -o 输出格式:json (默认), yaml, csv, table
--quiet -q 抑制 stderr 消息输出
--config 配置文件路径
--auth-type 认证方式:oauth (默认), service-account

环境变量

变量 描述
YT_API_AUTH_TYPE 认证方式:oauth 或 service-account
YT_API_OUTPUT 默认输出格式
YT_API_CLIENT_ID OAuth 客户端 ID
YT_API_CLIENT_SECRET OAuth 客户端密钥
YT_API_CREDENTIALS 服务账户 JSON 文件路径

认证方式

OAuth 2.0 (默认)

适用于交互式使用和访问您自己的 YouTube 账户。

yt-api auth login  # 打开浏览器进行认证

服务账户

适用于服务器端自动化操作。

yt-api --auth-type service-account --credentials ./key.json list videos

快速诊断命令

yt-api info                      # 显示完整系统状态
yt-api info --test-connectivity  # 验证 API 连接
yt-api info --test-permissions   # 检查凭据权限
yt-api auth status               # 查看认证详情
yt-api version                   # 查看版本信息

错误处理

退出代码:
- 0 - 成功
- 1 - 通用错误
- 2 - 认证错误
- 3 - API 错误 (配额、权限问题)
- 4 - 输入错误

面向 LLM 与自动化

  • 默认输出 JSON 格式
  • 结构化错误信息以 JSON 对象形式返回
  • --quiet 模式便于解析输出
  • --dry-run 模式可验证操作而不实际执行
  • 支持标准输入以管道传递数据

注意事项

  • 需要已启用 YouTube Data API v3 的有效 Google Cloud 凭据
  • OAuth 令牌存储在 ~/.yt-api/tokens.json (权限为 0600)
  • 默认输出为 JSON 格式 (为 LLM 优化)
  • 支持所有 YouTube Data API v3 资源

源代码

GitHub: https://github.com/nerveband/youtube-api-cli

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor