全部指南

把 YouTube 连接到 Social Quack —— 完整指南

YouTube 和 TikTok 的做法一样:您在 Google 的控制台里创建一个属于自己的小型开发者应用,几分钟就能连上,也能马上上传 —— 但在 Google 审核您的项目之前,这些上传都会被设为私享。本页把前后两半都讲清楚,每一个答案都已经为您备好,直接粘贴即可。整件事只需要做一次。

想跳过 Google 的审核? 那就改为通过 Zernio 连接:粘贴一个密钥、登录、上传 —— 几分钟搞定,从第一天起就能公开上传。见 Zernio 指南。本页讲的是用您自己的 Google Cloud 项目、自己动手的那条路。

分两个阶段,做完第 1 阶段就可以开始上传:

阶段 您能得到什么 耗时
1. 创建应用 连接您的频道并上传 —— 但在第 2 阶段之前,YouTube 会把每个视频都设为 Private(私享),而且连接每 7 天就要续一次 约 10 分钟
2. 通过审核 可以公开(Public)和不公开列出(Unlisted)上传,连接也不再过期 您这边约 20 分钟,之后等 Google 审核

Shorts 不需要任何特殊处理:3 分钟以内的竖屏视频自动就是 Short。

第 1 阶段 —— 创建您的 Google Cloud 项目并连接

  1. 前往 https://console.cloud.google.com,用拥有您 YouTube 频道的那个 Google 账号登录(或者任意 Google 账号 —— 频道稍后再选)。

  2. 创建项目:点顶部的项目选择器 → New project → 取个名字(例如 My Social Quack)→ Create,然后确认它已被选中。

  3. 启用 API:左侧菜单 APIs & Services → Library → 搜索 YouTube Data API v3 → Enable。

  4. 设置同意屏幕:左侧菜单 APIs & Services → Google Auth Platform(较老的项目显示为 OAuth consent screen)→ Get started:

    • App information(应用信息):应用名称(例如 My Social Quack),user support email 填您自己的邮箱。
    • Audience(受众):External。
    • Contact information(联系信息):再填一次您的邮箱 → 同意 → Create。
  5. 把自己加为测试用户:Google Auth Platform → Audience → Test users → Add users → 填您的 Google 邮箱 → Save。(应用处于 Testing(测试)状态期间,只有测试用户才能连接。)

  6. 添加权限范围:Google Auth Platform → Data Access → Add or remove scopes → 筛选 youtube 并勾选:

    • https://www.googleapis.com/auth/youtube.upload
    • https://www.googleapis.com/auth/youtube.readonly

    → Update → Save。这两项都属于"敏感"权限范围;这只在第 2 阶段才有影响。

  7. 创建凭据:Google Auth Platform → Clients → Create client → Application type 选 Desktop app → 取个名字 → Create。复制 Client ID 和 Client secret(也可以下载成 JSON)。

    为什么选 Desktop app?Social Quack 运行在您自己的电脑上,而 Google 的 Desktop 客户端类型接受 Social Quack 所监听的 localhost 地址,不需要登记网站。这种客户端类型没有需要添加的回调地址。如果 Google 报 redirect_uri_mismatch,说明这个客户端被建成了 Web application —— 改建一个 Desktop 的就好。

  8. 在 Social Quack 里:Channels → YouTube → Set up keys ▾ → Set up app keys(渠道 → YouTube → 设置密钥 → 设置应用密钥)→ 粘贴 Client ID 和 secret → Connect(连接)。浏览器会打开 Google 的登录页:选择账号,如有提示就选择频道,在 "Google hasn't verified this app" 界面上点 Continue(您就是开发者 —— 第 1 阶段出现这个是正常的)。勾选两项权限 → Continue。您的频道就会出现在 Connected(已连接)下面。

  9. 在 Compose(撰写)里上传一个测试视频:附上视频,勾选 YouTube 渠道,填写弹出的 YouTube options(YouTube 选项)面板 —— 标题、公开范围、made for kids(为儿童打造)声明、标签。立即发布或者排定时间。打开 YouTube Studio:视频就在那里 —— 不管您选的是什么公开范围,它都是 Private。这是 Google 对未经审核项目的规定(见第 2 阶段),不是 Social Quack 的 bug。

处于第 1 阶段时要知道的两件事:

  • 每 7 天重新连接一次。 任何处于 Testing 状态的应用,Google 都会在 7 天后让连接失效。发生这种情况时,Social Quack 会在 Channels 里提醒您;再点一次 Connect 即可。第 2 阶段会结束这种情况。
  • 配额:新项目每天可以上传 100 个视频,其他调用有 10,000 个单位(设置一张缩略图耗 50)。个人或小团队绰绰有余;代理机构可以在第 2 阶段申请更多。

第 2 阶段 —— 通过审核(公开上传,连接长期有效)

这里有两项独立的审核,由 Google 的两个不同团队负责。两项都做;每一项都是一张表格。

A. YouTube API 合规审计 —— 解除"只能私享"的限制

2020 年 7 月 28 日之后创建的每个项目,上传的视频都会被锁定为 Private,直到 YouTube 审计确认它符合 YouTube API Services Terms of Service(服务条款)为止。

  1. 打开 YouTube API Services – Audit and Quota Extension Form:https://support.google.com/youtube/contact/yt_api_form
  2. 用下方「可直接粘贴的答案」来填写。问到 API 客户端时,就说这是一个只用于您自己频道的个人桌面排程工具;要求提供演示时,附上下方「演示视频」里说的那段屏幕录像。
  3. 如果您每天需要上传超过 100 个视频,就在同一张表格里申请提高配额,并写明需要多少。

审计通过时您会收到邮件。从那以后,您在 Social Quack 里选的公开范围(Public / Unlisted / Private)就是 YouTube 实际采用的。

B. OAuth 应用验证 —— 结束每 7 天重连和警告界面

  1. Google Auth Platform → Audience → Publish app → 确认。您的应用现在处于 In production(正式)状态。从此以后,连接不会再在 7 天后过期。在验证完成之前,登录时仍会显示 "Google hasn't verified this app" —— 点 Advanced → Go to (your app name) 继续即可;每个未经验证的应用,Google 允许最多 100 人这样做,一个频道远远用不到这么多。
  2. Google Auth Platform → Branding:添加您的应用 logo(可选),在 Authorized domains 下添加 socialquack.com;Application home page 填 https://socialquack.com,Privacy policy 填 https://socialquack.com/privacy,Terms of service 填 https://socialquack.com/terms。保存。
  3. Google Auth Platform → Verification Center → Prepare for verification → 核对信息 → 为每个权限范围粘贴下方「可直接粘贴的答案」里的说明 → 添加您演示视频的链接(以 Unlisted 方式上传到 YouTube,或者放在 Drive 上)→ Submit for verification。
  4. Google 会通过邮件提问并告知结果。只要视频展示了同意屏幕以及每一项权限的实际使用,小型个人应用的验证通常都会通过。

您完全可以跳过 B,接受警告界面和 Advanced → Go to app 这一下点击 —— 这是个人选择。但如果您想公开上传,A 是跳不过去的。

可直接粘贴的答案

What does your application do?(您的应用是做什么的?)

Personal social-media scheduling tool. I write and schedule posts on my own computer (Social Quack, a self-hosted scheduler that runs locally on my Mac/PC) and it uploads them to my own YouTube channel at the scheduled time. Single user: me. The application never accesses other users' data, does not read comments or analytics, and stores nothing on any server — access tokens are kept encrypted on my computer only and deleted when I disconnect the channel.

How is each scope used?(每个权限范围如何使用?)

youtube.upload — uploads the video file for a post I created and scheduled myself, with the title, description, tags and visibility I chose, and sets the thumbnail I attached.

youtube.readonly — reads my own channel's name and avatar once, to show which channel is connected in the app.

API client / platform → Desktop application installed on the user's own computer; website https://socialquack.com.

Expected number of users → 1 (my own account). Quota → the default is enough (or state the number of uploads per day you need).

Do you display or store YouTube data? → No. The app only uploads; it shows the channel name in its own settings page and stores nothing about other users.

演示视频 —— 要录些什么

一段 60–90 秒的屏幕录像,一镜到底,不需要配音。Mac:⌘⇧5 或者 QuickTime → New Screen Recording。

  1. (0:00) 打开 Social Quack,展示 Channels(渠道)页面。
  2. (0:05) 在 YouTube 上点 Connect。Google 的登录页会在浏览器里打开 —— 展示列出两项权限的同意屏幕,然后点 Continue。展示 Social Quack 里该频道已经出现在 Connected 下面。
  3. (0:25) Compose:附上一段短视频,勾选 YouTube 渠道,填写 YouTube options 面板(标题、公开范围、made-for-kids),点 Post now(立即发布)。
  4. (0:45) 展示这条帖子在 Queue(队列)里变成 published,并点开它的链接。
  5. (1:00) 在 YouTube Studio 里展示您频道上的这个视频。
  6. (1:15,可选) Channels → Remove(移除)YouTube 渠道,展示断开连接就会撤销访问权限。

出问题时怎么办

您看到的情况 这说明什么 该怎么做
Google 登录页上出现 access_denied / "app is currently being tested" 您的 Google 账号不是测试用户,或者您用了另一个账号登录 Google Auth Platform → Audience → Test users → 添加完全一致的邮箱,然后重新 Connect
redirect_uri_mismatch 这个 OAuth 客户端是 Web application 类型 新建一个 Desktop app 类型的客户端,粘贴它的 ID/secret
"Google hasn't verified this app" 验证之前属于正常 点 Continue(测试用户)或 Advanced → Go to app(已发布的应用)
连接一周后失效(invalid_grant) 应用处于 Testing 状态 重新连接;或者发布应用(第 2 阶段 B 的第 1 步)来彻底解决
视频上传成功,但明明选了 Public 却是 Private 项目还没通过审计 第 2 阶段 A —— 合规审计
quotaExceeded 今天已上传 100 个,或其他调用用满了 10,000 个单位 等到太平洋时间午夜,或者在审计表格里申请更多
缩略图没有生效 这个 YouTube 账号没有完成手机验证 前往 youtube.com/verify —— 之后的下一次上传就会设置缩略图
用品牌账号(Brand Account)上传时出现 forbidden 登录时选错了频道 Channels → Remove → 重新 Connect 并选择正确的频道

卡在某一步了?写信到 [email protected],会有真人回复您。