🚀 この記事のゴール

YouTube Data API を使って「動画タイトル」「再生回数」「チャンネル情報」などを取得し、アプリやブログに活用できるようになること。


🎯 YouTube Data APIとは?

YouTube Data API は、YouTube 上の 動画・チャンネル・再生リスト などの情報を取得できる公式APIです。
アプリ開発、データ分析、ブログ自動生成など、幅広い用途で利用できます。


🧰 前提条件(必要な環境)

  • Googleアカウント
  • Google Cloud Console にアクセスできる環境
  • コマンドライン(curl)または Python が使える環境

注意:YouTube Data API は無料枠がありますが、利用量に応じてクォータが消費されます。


🔑 APIキーの取得方法

YouTube Data API を使うには、まず APIキー を取得します。

1. Google Cloud Console にアクセス

https://console.cloud.google.com/

2. 新規プロジェクトを作成

画面上部のプロジェクト選択 → 「新しいプロジェクト」

3. API を有効化

「APIとサービス」→「ライブラリ」→ YouTube Data API v3 を検索して有効化。

4. APIキーを作成

「認証情報」→「認証情報を作成」→ APIキー

補足:APIキーは外部に漏れると不正利用される可能性があります。GitHubなどに公開しないよう注意。


📦 基本的なAPIリクエストの仕組み

YouTube Data API は REST API 形式で、URLにパラメータを付けてアクセスします。

例:動画情報を取得するエンドポイント

https://www.googleapis.com/youtube/v3/videos

📺 動画情報を取得してみよう(再生回数・タイトルなど)

🔍 例:curlで動画情報を取得

# {VIDEO_ID} と {API_KEY} を置き換えて実行
curl \
  "https://www.googleapis.com/youtube/v3/videos?part=snippet,statistics&id={VIDEO_ID}&key={API_KEY}"

ポイントpart= に取得したい情報を指定します。
snippet → タイトル・説明文
statistics → 再生回数・高評価数


🐍 Pythonで取得する例

import requests

API_KEY = "YOUR_API_KEY"  # APIキーを設定
VIDEO_ID = "YOUR_VIDEO_ID"

url = "https://www.googleapis.com/youtube/v3/videos"
params = {
    "part": "snippet,statistics",
    "id": VIDEO_ID,
    "key": API_KEY
}

response = requests.get(url, params=params)
data = response.json()

print(data)

📚 よく使うエンドポイント一覧

用途エンドポイント説明
動画情報videosタイトル・再生回数など
チャンネル情報channels登録者数・説明文など
検索search動画・チャンネル・再生リスト検索
再生リストplaylistItems再生リスト内の動画一覧

🧪 検索APIで動画を探す

キーワード検索も可能です。

curl \
  "https://www.googleapis.com/youtube/v3/search?part=snippet&q=猫&maxResults=5&type=video&key={API_KEY}"

注意search API は結果に動画IDが含まれるだけで、再生回数などは含まれません。
詳細情報が必要な場合は、取得した videoId を使って videos API を呼び出します。


📊 活用例(初心者でもできる)

  • ブログ記事の自動生成(動画タイトル・説明文を取得)
  • YouTubeチャンネルの統計ダッシュボード作成
  • 動画の人気推移を分析
  • 動画一覧を自動でサイトに埋め込む

⚠️ よくあるエラーと対処法

1. quotaExceeded

  • 原因:APIのクォータを使い切った
  • 対処:翌日まで待つ or クォータを増やす

2. keyInvalid

  • 原因:APIキーが間違っている or 無効化されている
  • 対処:Google Cloud Console でキーを再確認

3. accessNotConfigured

  • 原因:YouTube Data API が有効化されていない
  • 対処:APIライブラリで有効化する

🔍 最終チェックリスト

  • APIキーを取得した
  • YouTube Data API v3 を有効化した
  • videos API で動画情報を取得できた
  • APIキーを安全に管理している

🔗 参考リンク


🚀 次のステップ(拡張案)

  • OAuth2 を使った認証(チャンネル管理や動画アップロードが可能)
  • 再生リスト自動生成ツールの作成
  • Python + pandas で動画統計データを分析
  • Hugoブログと連携して「最新動画一覧」を自動生成