YouTube を Social Quack につなぐ — 完全ガイド
YouTube の流れは TikTok と同じです。Google のコンソールで自分用の小さな開発者アプリを作り、数分でつなげば、すぐにアップロードできます — ただし Google がプロジェクトを審査するまで、アップロードした動画は非公開のままです。このページでは、その前半と後半の両方を、回答をそのまま貼り付けられる形で順に説明します。作業は一度きりです。
Google の審査を省きたいですか? 代わりに Zernio 経由でつなぐこともできます。キーを1つ貼り付け、サインインしてアップロードするだけ — 数分で済み、初日から公開でアップロードできます。Zernio のガイドをご覧ください。このページは、ご自身の Google Cloud プロジェクトを使う「自分で用意する」ルートの説明です。
作業は2段階で、段階1が終わればもうアップロードを始められます。
| 段階 | できるようになること | 所要時間 |
|---|---|---|
| 1. アプリを作る | チャンネルをつないでアップロードできます — ただし段階2までは、どの動画も YouTube によって非公開に設定され、接続も7日ごとにやり直す必要があります | 約10分 |
| 2. 審査を受ける | 公開・限定公開でアップロードでき、接続も切れなくなります | ご自身の作業は約20分、そのあと Google の審査 |
ショート動画に特別な作業はいりません。3分未満の縦長の動画は、自動的にショートになります。
段階1 — Google Cloud のプロジェクトを作ってつなぐ
https://console.cloud.google.com を開き、YouTube チャンネルを持っている Google アカウントでサインインします(どの Google アカウントでも構いません — チャンネルはあとで選びます)。
プロジェクトを作る: 上部のプロジェクト選択をクリック → New project → 名前を付けて(例:
My Social Quack)→ Create。作ったプロジェクトが選択されていることを確かめます。API を有効にする: 左のメニュー APIs & Services → Library → YouTube Data API v3 を検索 → Enable。
同意画面を設定する: 左のメニュー APIs & Services → Google Auth Platform(古いプロジェクトでは OAuth consent screen と表示されます)→ Get started:
- App information: アプリ名(例:
My Social Quack)、user support email にはご自身のアドレス。 - Audience: External。
- Contact information: もう一度ご自身のアドレス → 同意 → Create。
- App information: アプリ名(例:
自分をテストユーザーに追加する: Google Auth Platform → Audience → Test users → Add users → ご自身の Google アドレス → Save。(アプリが Testing の間は、テストユーザーしか接続できません。)
スコープを追加する: Google Auth Platform → Data Access → Add or remove scopes →
youtubeで絞り込み、次の2つにチェックを入れます。https://www.googleapis.com/auth/youtube.uploadhttps://www.googleapis.com/auth/youtube.readonly
→ Update → Save。どちらも「sensitive」(機密性の高い)スコープですが、それが関係するのは段階2だけです。
認証情報を作る: Google Auth Platform → Clients → Create client → Application type は Desktop app → 名前を付けて → Create。Client ID と Client secret をコピーします(JSON でダウンロードすることもできます)。
なぜ Desktop app なのでしょう? Social Quack はご自身のパソコンの上で動いていて、Google の Desktop クライアントは、Webサイトを登録しなくても Social Quack が待ち受けている
localhostのアドレスを受け付けるからです。このクライアントの種類では、追加するリダイレクトURIはありません。もし Google がredirect_uri_mismatchと表示したら、クライアントが Web application として作られています — Desktop のものを作り直してください。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ではこれが出て当然です)。2つの権限にチェックを入れて → Continue。チャンネルが Connected の下に表示されます。
Compose(作成)からテスト動画をアップロードします。動画を添付し、YouTube のチャンネルにチェックを入れ、現れた YouTube options(YouTube のオプション)パネルでタイトル、公開設定、made for kids(子ども向け)の申告、タグを入力します。今すぐ投稿しても、予約しても構いません。YouTube Studio を開くと動画があります — どの公開設定を選んでも、Private(非公開)として。これは審査前のプロジェクトに対する Google のルールで(段階2を参照)、Social Quack の不具合ではありません。
段階1の間に知っておいてほしいこと、2つ:
- 7日ごとにつなぎ直す。 Google は Testing のアプリの接続を7日で失効させます。そうなると Social Quack が Channels でお知らせするので、もう一度 Connect をクリックしてください。段階2でこれはなくなります。
- 割り当て(クォータ): 新しいプロジェクトは1日100本まで動画をアップロードでき、そのほかの呼び出しに 10,000 ユニットを使えます(サムネイル1枚で50)。個人や小さなチームには十分です。代理店などは段階2で増枠を申請できます。
段階2 — 審査を受ける(公開アップロード、切れない接続)
審査は2つあり、担当する Google のチームも別々です。両方とも済ませてください。どちらもフォームの記入です。
A. YouTube API コンプライアンス監査 — 「非公開のみ」のルールを外す
2020年7月28日以降に作られたプロジェクトはすべて、YouTube API Services Terms of Service に沿っているか YouTube が監査するまで、アップロードが Private に固定されます。
- YouTube API Services – Audit and Quota Extension Form を開きます: https://support.google.com/youtube/contact/yt_api_form
- 下の「そのまま貼り付けられる回答」を使って記入します。API クライアントについて聞かれたら、自分のチャンネルだけに使う個人用のデスクトップ予約投稿ツールだと答え、デモを求められたら、下の「デモ動画 — 何を録画するか」で撮った画面録画を添付します。
- 1日100本を超えてアップロードしたい場合は、同じフォームで増枠を申請し、必要な本数を書いてください。
監査が通るとメールが届きます。それ以降は、Social Quack で選んだ公開設定(Public / Unlisted / Private)がそのまま YouTube で使われます。
B. OAuth アプリの確認(verification) — 7日ごとのつなぎ直しと警告画面をなくす
- Google Auth Platform → Audience → Publish app → 確定します。これでアプリは In production になり、以後、接続が7日で失効することはなくなります。確認(verification)が終わるまでは、サインインの際にまだ "Google hasn't verified this app" が表示されます — Advanced → Go to (your app name) をクリックして進んでください。Google は未確認のアプリ1つにつき最大100人までこの操作を認めていて、チャンネル1つには十分すぎる数です。
- Google Auth Platform → Branding: アプリのロゴを追加し(任意)、Authorized domains に
socialquack.comを追加します。Application home page はhttps://socialquack.com、Privacy policy はhttps://socialquack.com/privacy、Terms of service はhttps://socialquack.com/terms。保存します。 - Google Auth Platform → Verification Center → Prepare for verification → 内容を確認 → スコープごとに、下の「そのまま貼り付けられる回答」から説明文を貼り付け → デモ動画へのリンクを追加(YouTube に Unlisted でアップロードするか、Drive に置きます)→ Submit for verification。
- 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(API クライアント / プラットフォーム)→ 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?(YouTube のデータを表示・保存するか)→ 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。
- (0:00) Social Quack を開き、Channels(チャンネル)のページを見せます。
- (0:05) YouTube の Connect(接続)をクリックします。ブラウザで Google のサインインが開くので、2つの権限が並んだ同意画面を映し、Continue をクリックします。チャンネルが Connected の下に表示された Social Quack を見せます。
- (0:25) Compose(作成): 短い動画を添付し、YouTube のチャンネルにチェックを入れ、YouTube options パネル(タイトル、公開設定、made-for-kids)を入力して、Post now(今すぐ投稿)をクリックします。
- (0:45) Queue(キュー)で投稿が published に変わるところを見せ、そのリンクをクリックします。
- (1:00) YouTube Studio で、ご自身のチャンネルにある動画を見せます。
- (1:15、任意) Channels で YouTube のチャンネルを Remove(削除)し、接続を解除するとアクセスが取り消されることを見せます。
うまくいかないときは
| 起きていること | 意味 | 対処 |
|---|---|---|
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" | 確認(verification)前なら正常です | Continue(テストユーザーの場合)、または Advanced → Go to app(公開済みのアプリの場合) |
1週間ほどで接続が切れる(invalid_grant) |
アプリが Testing のままです | もう一度つなぐか、アプリを公開して(段階2 B の手順1)これを止めてください |
| Public を選んだのに、動画が Private でアップロードされる | プロジェクトがまだ監査されていません | 段階2 A — コンプライアンス監査 |
quotaExceeded |
今日のアップロードが100本に達したか、そのほかの呼び出しが 10,000 ユニットに達しました | 太平洋時間の午前0時まで待つか、監査フォームで増枠を申請してください |
| サムネイルが反映されない | YouTube アカウントが電話番号で確認されていません | youtube.com/verify で確認すると、次のアップロードから設定されます |
ブランドアカウントでアップロードすると forbidden になる |
サインインのときに違うチャンネルを選んでいます | Channels → Remove → もう一度 Connect し、正しいチャンネルを選んでください |