5.

YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け

編集
この記事の要点
  • YouTube Data API (v3) で発生しやすいエラーの入口ページ
  • 403 系が大半 — API キー未指定 / 利用上限超過 / リファラー制限の 3 パターンに分かれる
  • 切り分けの順序: ① API キーの存在 → ② 利用量と上限 → ③ HTTP リファラー制限
  • Google Cloud Console 側で API キーとアクセス元ドメインが一致しているか最初に確認するのが早い
  • クォータ(割当)は 1 日 10,000 ユニットがデフォルト — 検索系は 100 ユニット消費するので 100 リクエストで枯渇

YouTube Data API (v3) のエラー

このページは、YouTube Data API (v3) で発生しやすいエラーの入口です。まずは API キー不足なのか、リファラー制限の問題なのか、クォータ超過なのかを切り分けて確認すると、原因にたどり着きやすくなります。

代表的なエラー

コードメッセージ主な原因確認
403Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.API キーが付いていない / 認証なしリクエストの上限超過クエリパラメータに key=YOUR_KEY があるか
403Requests from referer ... are blocked.HTTP リファラー制限Cloud Console の API キー設定で許可ドメインを確認
403The request cannot be completed because you have exceeded your quota.1 日の割当 (10,000 unit) 超過Cloud Console → IAM → 割り当て で残量確認
403The request is missing a valid API key.API キー未送信URL に ?key=... が含まれているか
400Invalid value for the request parameterパラメータの形式不正(videoId が空など)API リファレンスでパラメータ仕様を確認
404Video not found / Channel not foundvideoId / channelId 不在 or 削除済みYouTube サイトで動画 URL が開けるか
401Invalid CredentialsOAuth トークン期限切れ / 改ざんリフレッシュトークンで再取得

Requests from referer ... are blocked. の見方

このエラーは、YouTube Data API を利用するリクエストで Referer が空、または API キーに設定した「HTTP リファラー」制限に合致しないドメインからアクセスしたときに発生します。

確認するべきこと

  1. Google Cloud Console → APIs & Services → 認証情報
  2. 該当 API キーをクリック
  3. アプリケーションの制限: 「HTTP リファラー (ウェブサイト)」が選択されているか
  4. ウェブサイトの制限: アクセス元のドメインが含まれているか
    • 例: https://example.com/*
    • サブドメイン含めるなら https://*.example.com/*
    • localhost 開発なら http://localhost:*/* も追加
  5. API の制限: 「YouTube Data API v3」が選択されているか

クォータ消費の目安

操作消費ユニット1 日上限 (デフォルト 10,000)
動画詳細取得 (videos.list)110,000 回
チャンネル詳細取得 (channels.list)110,000 回
プレイリスト一覧 (playlists.list)110,000 回
検索 (search.list)100100 回(一気に枯渇する)
動画アップロード (videos.insert)1,6006 回
動画更新 (videos.update)50200 回
動画削除 (videos.delete)50200 回

search.list は重いので、繰り返し呼び出すなら以下の最適化を:

  • 結果をキャッシュする(Redis / DB)
  • 動画 ID を取って後は videos.list で詳細取得
  • 1 リクエストあたりの結果数 (maxResults=50) を最大化
  • クォータ追加申請(Cloud Console から無料で申請可能、承認は数営業日)

API キーの取得手順(おさらい)

1. Google Cloud Console (console.cloud.google.com) にログイン
2. プロジェクトを作成 / 選択
3. 左メニュー → APIs & Services → ライブラリ
4. "YouTube Data API v3" を検索 → 「有効にする」
5. 左メニュー → 認証情報 → 「認証情報を作成」→ API キー
6. キーが発行されるので「キーを制限」で:
   - アプリケーションの制限: HTTP リファラー
   - ウェブサイト: 自サイトドメインを追加
   - API の制限: YouTube Data API v3
7. キーをコピーして安全な場所に保存(公開リポジトリに絶対 push しない)

動作確認用 curl

# 動画詳細取得(API キーは必ず HTTPS 経由で)
curl "https://www.googleapis.com/youtube/v3/videos?part=snippet,statistics&id=dQw4w9WgXcQ&key=YOUR_API_KEY"

# 期待される結果: 200 OK + JSON
# 403: API キーまたはリファラー制限の問題
# 400: パラメータ不正

関連

  • API キーは 絶対にフロントエンドに直接埋め込まない — サーバ経由で叩く設計を推奨
  • 商用利用は API 利用規約と YouTube ブランドガイドラインに従う
  • 埋め込みプレーヤーは API キー不要で