このページでは、Google CloudでのAPIキー発行から、YouTube Data API v3を叩いて動画情報を取得するところまでを、最短ルートで解説します。この記事を終えれば、他の記事(動画一覧取得・チャット・字幕・文字起こし)へスムーズに進めます。
1. 事前準備
- Googleアカウント
- Google Cloud Console にアクセスできること
2. APIキー発行(Google Cloud Console)
- Google Cloud Console にログイン
- 右上のプロジェクト選択から、新しいプロジェクトを作成
- 左上メニュー「API とサービス」→「認証情報」
- 「+認証情報を作成」→「API キー」を選択
- 表示されたAPIキーを控える(後でコードに貼り付け)
安全のためのキー制限(推奨)
- 「アプリケーションの制限」:必要に応じてHTTPリファラ/IPv4などを制限
- 「API の制限」:YouTube Data API v3 のみに制限
3. YouTube Data API v3 を有効化
- 「API とサービス」→「ライブラリ」
- 検索欄に YouTube Data API v3 と入力
- 該当APIを開き、有効にする をクリック
これで準備完了です。次に最小コードでAPIを叩いてみましょう。
4. 最小コードで動画情報を取得(Python)
使い方
- 下記の
API_KEY
に発行したキーを貼り付け VIDEO_ID
に任意のYouTube動画IDを設定(URLのv=
の値)- 実行すると、タイトル・公開日・再生回数などが表示されます
pip install google-api-python-client
from googleapiclient.discovery import build
from googleapiclient.errors import HttpError
API_KEY = "YOUR_API_KEY" # ← 置き換え
VIDEO_ID = "dQw4w9WgXcQ" # ← 任意の動画IDに置き換え
def main():
try:
youtube = build("youtube", "v3", developerKey=API_KEY)
res = youtube.videos().list(
part="snippet,statistics,contentDetails",
id=VIDEO_ID
).execute()
items = res.get("items", [])
if not items:
print("Video not found or unavailable.")
return
it = items[0]
snippet = it.get("snippet", {})
stats = it.get("statistics", {})
cdet = it.get("contentDetails", {})
print("-- BASIC INFO --")
print("title:", snippet.get("title"))
print("publishedAt:", snippet.get("publishedAt"))
print("channelTitle:", snippet.get("channelTitle"))
print("-- STATISTICS --")
print("viewCount:", stats.get("viewCount"))
print("likeCount:", stats.get("likeCount"))
print("commentCount:", stats.get("commentCount"))
print("-- CONTENT DETAILS --")
print("duration(ISO8601):", cdet.get("duration"))
except HttpError as e:
print("HTTP Error:", e)
except Exception as ex:
print("Error:", ex)
if __name__ == "__main__":
main()
5. 実行結果サンプル(抜粋)
-- BASIC INFO --
title: サンプル動画のタイトル
publishedAt: 2025-08-10T12:00:03Z
channelTitle: Sample Channel
-- STATISTICS --
viewCount: 123456
likeCount: 7890
commentCount: 321
-- CONTENT DETAILS --
duration(ISO8601): PT4M12S
6. よくあるハマりどころ&安全運用のコツ
- 403/400エラー:API有効化忘れ・キー制限の設定ミスが多い。まずは制限を緩めて動作確認→段階的に厳格化
- クォータ:1日1万ユニットが目安。
videos.list
は50件まで一括取得可能(呼び出し回数削減) - 個人情報は取れない:メールアドレスや個別視聴履歴はAPIで取得不可
- 次の拡張:チャンネルの動画一覧、コメント取得、配信/アーカイブ判別などに展開可能
7. 次に読む(実装記事へ)
YouTube Data APIでチャンネルの動画一覧を取得する方法