YouTube Data APIのAPIキーは、利用するプロジェクトと要求を識別するための認証情報です。API有効化、キー制限、OAuth認可、割当を別々に確認します。ここでは新規発行を常に最初の対処とはしません。
旧プロジェクト作成画面と、最初の確認

元の2017年の画面です。画像内の文字列や画面配置を現在の設定値として使いません。管理者として対象プロジェクトIDを確認し、既存キーの利用箇所・必要な操作・実行する層を先に整理してください。
| この記事の要点 |
|
API キーでできること・できないこと
YouTube Data API (v3) は、動画・チャンネル・再生リスト・コメントなどの情報をプログラムから取得するための API です。リクエストに付ける認証情報には API キーと OAuth 2.0 の 2 種類があり、用途で使い分けます。
| やりたいこと | API キー | OAuth 2.0 |
|---|---|---|
| 公開動画の検索・タイトルや再生回数の取得 | 可 | 可 |
| 公開チャンネル・再生リストの情報取得 | 可 | 可 |
| 動画のアップロード・再生リストの編集 | 不可 | 可 |
| 自分のチャンネルの非公開動画・限定公開の管理 | 不可 | 可 |
公開データの読み取りにAPIキーを使えるメソッドがあります。ただし、プロジェクトでのAPI有効化・実行元/API制限・割当を満たす必要があります。非公開データやユーザー操作の認可をAPIキーで代用しません。
API キーの取得手順
対象プロジェクトを管理するGoogleアカウントで進めます。以下の画像は2017年当時の参考画面で、現在の文言・配置・権限条件を保証しません。既存プロジェクトやキーがある場合、診断のためだけに新規発行しません。
- Google Cloud コンソール(旧 Google Developers Console)にアクセスします
- 画面上部のプロジェクト選択から「プロジェクトを作成」(または「新しいプロジェクト」)を押します
プロジェクト作成を示す旧画像は序盤に掲載しています。
- 任意のプロジェクト名を入力して「作成」を押します。プロジェクト名は後から変更できますが、プロジェクト ID は変更できません

- 「API とサービス」→「ライブラリ」を開き、「YouTube Data API v3」を検索して「有効にする」を押します。この操作を忘れると、キーを作っても API 呼び出しがエラーになります
- 「API とサービス」→「認証情報」→「認証情報を作成」→「API キー」の順に押します

- APIキーの文字列が表示されます。キーをスクリーンショット・リポジトリ・URL・シェル履歴へ残さず、利用するクライアントの公式の安全な管理/送信方法を確認します
- 続けて「キーを制限」(または作成したキーの編集画面)から、使用元と使える API を制限します

キーの制限を必ず設定する
API キーは、知っている人なら誰でも使えてしまう文字列です。漏れると他人にクォータを使い切られるため、作成したら次の 2 種類の制限を設定します。
| 制限の種類 | 選ぶ値 | 向いている使い方 |
|---|---|---|
| アプリケーションの制限 | HTTP リファラー(ウェブサイト) | ブラウザの JavaScript から直接呼ぶ場合。自サイトのドメインを登録 |
| アプリケーションの制限 | IP アドレス | サーバー(PHP・Python など)から呼ぶ場合。サーバーのグローバル IP を登録 |
| API の制限 | キーを制限 → YouTube Data API v3 | どの使い方でも設定推奨。他の API に流用されるのを防ぐ |
サーバーの要求とブラウザ向けのHTTPリファラー制限が一致しない場合は拒否されます。実際の通信元に合う方式を確認し、Referer偽装や制限解除で回避しません。制限があることをキー漏洩や悪用が不可能という保証にしません。
取得したキーの動作確認
次は元のcurl例を保持した保守資料です。実キーに置換してそのまま実行しないでください。URLへキーを入れるとHTTPSでもシェル履歴・プロセス引数・各種ログへ残り得ます。ブラウザ用キーとサーバーのcurlでは実行元も違います。JSONが返ったことだけで成功とは判定しません。
旧curl例の注意:キーをURLへ記録しない管理/送信方法を選び、HTTP状態とreason、itemsの有無を分けて確認します。この例は実キーで検証していません。
curl "https://www.googleapis.com/youtube/v3/videos?part=snippet,statistics&id=VIDEO_ID&key=YOUR_API_KEY"
返ってきた items の中に、タイトル(snippet.title)や再生回数(statistics.viewCount)が入っています。
クォータ(利用上限)の考え方
2026年10月26日に確認した公式表ではsearch.listとvideos.insertは各既定100呼出し/日の独立枠で、各枠の1呼出し=1です。その他は既定合計10,000 units/日の枠として案内されています。実プロジェクトの枠/残量は別に確認し、旧search.list=100 unitsから可能回数を一律計算しません。日次の基準はPacific Time午前0時です。追加ページ/不正な要求も割当を消費し得ます。保存/キャッシュはポリシーの保持・更新・削除条件に従い、検索と再生リスト取得を同じ結果の互換操作とは扱いません。
よくあるエラーと原因
- 400 API key not valid: キーの文字列が間違っている、またはキーを削除した
- 403 accessNotConfigured: プロジェクトで YouTube Data API v3 が有効化されていない(有効化直後は数分かかることがある)
- 403 quotaExceeded: 対象メソッド/プロジェクトの割当枠を確認。別キーや別プロジェクトで回避しない
- 403 の Requests from referer ... are blocked: リファラー制限・IP 制限と呼び出し元が一致していない
キーを安全に扱うために
- キーをソースへ直書きしない。環境変数/.env等も公開配信・例外ログ・権限・バックアップを含めて管理する。.gitignoreを追加しても過去のcommitや既に公開した秘密は消えない
- 漏洩時は管理者の手順で影響/利用箇所を調べ、必要な失効/切替を行う。既存キーの無計画な削除で稼働アプリを止めず、診断のためにキーを発行しない
- 可能ならブラウザから直接呼ばず、自分のサーバー経由で呼んでキーを公開しない
関連
- Google OAuth 2.0 認証の実装方法
- OAuth 2.0 認可フロー完全ガイド
- Google Cloud Platform(GCP)とは
- .env ファイル完全ガイド — 環境変数・dotenv・シークレット管理
発行前後の確認チェックリスト
- アプリが参照するプロジェクトと、画面で選んだプロジェクトが同じか。
- YouTube Data API v3が有効か。キーを作るだけでAPIが有効になるとはみなさない。
- 操作は公開データの取得か、ユーザーとしてのOAuth認可が必要か。
- Googleへ通信するのはブラウザか、サーバーか。HTTPリファラー制限とIP制限を区別する。
- 利用APIの制限も対象APIに合っているか。動作確認のために全API/全実行元を許可しない。
- キー/tokenをURL、画面、ログ、コード、過去commitへ残さない運用になっているか。
応答の確認と、成功を判断する範囲
取得済みの応答はHTTP状態・reason・JSONの構造を分けて確認します。JSON形式でもerrorの可能性があり、200でもitemsが空なら必要な動画を得たとは言えません。空配列を認証失敗と決めつけてキーを再発行することもしません。ID・対象の可視性・操作の仕様を確認します。
キーの実行元制限に合わない失敗と、OAuthのscope不足、割当超過は対処が違います。手順はエラー一覧を参照し、403だからという理由だけでキーの制限を外さないでください。ローカル試験のために本番キーの許可範囲を広げないでください。
秘密値と公開クライアントを分ける
ブラウザへ送るコードや通信に含まれるキーは利用者から見えます。利用API/実行元の制限は重要ですが、キーを完全な秘密にする仕組みではありません。client secretやrefresh tokenをブラウザへ出さず、APIキーと同じ用途の値として扱わないでください。
バックエンド経由なら、鍵を隠すだけでなく、自分のAPIの認証/認可、利用量の制御、許可する操作/送信先、秘密を含まないエラー処理も設計します。任意URLや任意APIを代理実行する公開プロキシにはしません。環境変数に移しただけで、それらの設計が完了したことにはなりません。
公式資料と今回の確認範囲
2026年10月26日確認。全6履歴とYouTubeの親を照合し、元画像4枚・旧curl・全見出し/リンクを保持しました。画像のキー表示は既に伏せられていますが、実キーの失効/制限/利用状況まで画像から判断はできません。現在のConsole操作・ログイン/キー作成/削除/制限変更・実API通信/OAuth・割当消費は検証していません。
親ページから子ページを選択できます。有効化はYouTube Data API v3の有効化、公式資料は準備、キー制限、キーの安全な扱い、割当表を参照してください。
子ページはありません
- APIキー取得方法
- APIの有効化
- チャンネル情報の取得
- 動画やチャンネルの検索
- エラー一覧
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスのソフト一覧|Blender・Metasequoiaと用途別の選び方
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Visual Studio「デザイナーを表示できません」エラーの原因と対処 2026-10-28 12:06:00
- SSH 認証に失敗しました。再試行してください の対処 2026-10-28 12:06:00
- SSH2 秘密鍵の読み込みに失敗しました の原因と対処 2026-10-28 12:06:00
- TeraTerm のよくあるエラーと対処法完全ガイド — Connection refused / 2026-10-28 12:06:00
- Visual Studio エラー一覧|コンパイルエラー・警告の確認方法と対処 2026-10-28 11:39:57
- Whitelabel Error Page の原因と消し方|Spring Boot のエラーページ 2026-10-28 11:39:57
- Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法 2026-10-28 11:39:57
- SQL WHERE 句完全ガイド 2026-10-28 11:39:57
- SQL JOIN 完全ガイド (INNER/LEFT/RIGHT/FULL OUTER) 2026-10-28 11:39:57
- tomcat の起動 / 停止ログと catalina.log・catalina.out の違い 2026-10-28 10:24:23
- Tomcat の起動確認方法 5 つ|localhost:8080・ポート・プロセス・ログ 2026-10-28 10:24:23
- Oracle 19c COMMITの使い方: 暗黙コミット・自動確定・応答不明時の確認 2026-10-28 09:59:09
- Oracle 19c DELETE文|削除対象の確認・COMMIT前の判断・ROLLBACKの条件 2026-10-28 09:59:09
- Oracle 19c INSERT文|INSERT ALL・SELECT・RETURNINGとMERGEの使い分け 2026-10-28 09:59:09
- Oracle 19cのトランザクション制御|COMMIT・ROLLBACK・分離レベルと接続設定 2026-10-28 09:59:09