上帝请三思

GodThinks34@outlook.com

🚀 零门槛 YouTube 矩阵自动化发布系统

无需 VPN,无需复杂编程,利用 GitHub Actions + Cloudflare R2 实现 YouTube 多频道一键自动发布。

🔗 项目开源地址GodThinks34/up_youtube


🛠️ 准备工作:获取 API 密钥 (只需 3 步)

📦 方法A:获取 YouTube API 凭据

  1. 进入 Google Cloud Console (点击前往) 创建项目,并启用 YouTube Data API v3
  2. 在“凭据”中创建 OAuth 客户端 ID(应用类型选择“Web 应用”)。
  3. 将重定向 URI 填入:https://developers.google.com/oauthplayground
  4. 使用 Google OAuth Playground (点击前往) 获取你的 Client IDClient SecretRefresh Token

💡 核心提示: 在 Playground 右上角的齿轮图标设置中,勾选“Use your own OAuth credentials”,填入你刚刚申请的 ID 和 Secret,并在左侧授权列表中输入并授权 https://www.googleapis.com/auth/youtube.upload 权限。

📦 方法B:获取 YouTube API 凭据

  1. 进入 Google Cloud Console (点击前往) 创建项目,并启用 YouTube Data API v3
  2. 在“凭据”中创建 OAuth 客户端 ID(应用类型选择“桌面应用”)。
  3. 下载json文件到本地改名client_secrets.json,GitHub开源代码中下载get_token.py 两个文件放在一起,终端cd 此文件夹进入文件夹后python3 get_token.py,浏览器就会弹出验证页面,需要点击高级同样授权

💡 核心提示: 在下载的json记得改名把后面删除命名为client_secrets.json两种方式获取到的数据都是一样如果一种方式行不通一般是设置权限比较严格不允许需要验证就走终端比较方便

🐙 第二步:配置 GitHub 自动流水线

  1. Fork 本仓库至你的个人 GitHub 账号:👉 点击前往 GitHub 仓库
  2. 进入你 Fork 后的仓库,导航至 Settings -> Secrets and variables -> Actions
  3. 点击 New repository secret,依次添加以下变量:
    • YOUTUBE_CLIENT_ID
    • YOUTUBE_CLIENT_SECRET
    • YOUTUBE_REFRESH_TOKEN(此为 A 频道凭据,若需管理多个频道,可添加 _B, _C 等后缀加以区分)

☁️ 第三步:开启 Cloudflare R2 存储空间

  1. 注册并登录 Cloudflare 控制台 (点击前往),在左侧菜单栏找到 R2,创建一个存储桶(Bucket)。
  2. 进入该存储桶的“设置”,开启“公共访问 (Public Access)”
  3. 复制你的公共访问域名(格式如:pub-xxx.r2.dev)。
  4. 回到 GitHub 仓库,修改代码中的 main.yml 文件,将 VIDEO_URL 的前缀替换为你自己的公共访问域名。

🎥 每日发片流程 (1 分钟搞定)

  1. 📤 上传视频:直接在 Cloudflare R2 网页后台,将你的视频文件(例如 my_video.mp4)上传到存储桶中。
  2. 🚀 启动流水线:进入 GitHub 仓库的 Actions 页面,点击左侧的 🚀 一键发布 YouTube 工作流。
  3. ⌨️ 输入文件名:点击右侧的 Run workflow,在弹出的输入框中填入刚才上传的视频文件名,再次点击 Run workflow 执行。
  4. 🎉 坐享其成:GitHub 将自动接管视频下载、格式校验及 YouTube 发布工作,你可以去喝杯咖啡了!

💡 核心优势


⚠️ 安全提醒

🚨 请务必妥善保管好你的 Refresh TokenClient Secret 绝对不要将其直接写在代码文件里,也不要公开在任何代码库、文本或演示视频中。必须使用 GitHub Secrets 进行加密存储!