タイトル: APIキー取得方法
SEOタイトル: APIキー取得方法
| この記事の要点 |
|
API キーでできること・できないこと
YouTube Data API (v3) は、動画・チャンネル・再生リスト・コメントなどの情報をプログラムから取得するための API です。リクエストに付ける認証情報には API キーと OAuth 2.0 の 2 種類があり、用途で使い分けます。
| やりたいこと | API キー | OAuth 2.0 |
|---|---|---|
| 公開動画の検索・タイトルや再生回数の取得 | 可 | 可 |
| 公開チャンネル・再生リストの情報取得 | 可 | 可 |
| 動画のアップロード・再生リストの編集 | 不可 | 可 |
| 自分のチャンネルの非公開動画・限定公開の管理 | 不可 | 可 |
「人気動画を一覧表示したい」「チャンネルの最新動画をサイトに載せたい」といった読み取り中心の用途なら、API キーだけで足ります。
API キーの取得手順
Google アカウントでログインした状態で進めます。画面の文言や配置は時期によって変わることがありますが、流れは同じです。
- Google Cloud コンソール(旧 Google Developers Console)にアクセスします
- 画面上部のプロジェクト選択から「プロジェクトを作成」(または「新しいプロジェクト」)を押します

- 任意のプロジェクト名を入力して「作成」を押します。プロジェクト名は後から変更できますが、プロジェクト ID は変更できません

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

- API キーが作成され、文字列が表示されます。これがリクエストの
keyパラメータに渡す値です - 続けて「キーを制限」(または作成したキーの編集画面)から、使用元と使える API を制限します

キーの制限を必ず設定する
API キーは、知っている人なら誰でも使えてしまう文字列です。漏れると他人にクォータを使い切られるため、作成したら次の 2 種類の制限を設定します。
| 制限の種類 | 選ぶ値 | 向いている使い方 |
|---|---|---|
| アプリケーションの制限 | HTTP リファラー(ウェブサイト) | ブラウザの JavaScript から直接呼ぶ場合。自サイトのドメインを登録 |
| アプリケーションの制限 | IP アドレス | サーバー(PHP・Python など)から呼ぶ場合。サーバーのグローバル IP を登録 |
| API の制限 | キーを制限 → YouTube Data API v3 | どの使い方でも設定推奨。他の API に流用されるのを防ぐ |
サーバーから呼ぶのに HTTP リファラー制限を付けると、リファラーが送られないため 403 エラーになります。呼び出し元に合った種類を選んでください。
取得したキーの動作確認
ターミナルから次のように実行し、JSON が返ってくれば成功です。YOUR_API_KEY を発行したキーに置き換えます(動画 ID は任意の公開動画のものを指定)。
curl "https://www.googleapis.com/youtube/v3/videos?part=snippet,statistics&id=VIDEO_ID&key=YOUR_API_KEY"
返ってきた items の中に、タイトル(snippet.title)や再生回数(statistics.viewCount)が入っています。
クォータ(利用上限)の考え方
YouTube Data API v3 には 1 日あたりのクォータがあり、新規プロジェクトの既定値は 10,000 ユニットです(2026 年時点)。メソッドごとに消費量が決まっていて、videos.list や channels.list は 1 ユニット、search.list は 100 ユニットです。検索を多用すると 1 日 100 回程度で上限に達するため、結果をキャッシュする、検索の代わりにチャンネルのアップロード再生リストを playlistItems.list で取得する、といった工夫が有効です。クォータは太平洋時間の午前 0 時にリセットされます。
よくあるエラーと原因
- 400 API key not valid: キーの文字列が間違っている、またはキーを削除した
- 403 accessNotConfigured: プロジェクトで YouTube Data API v3 が有効化されていない(有効化直後は数分かかることがある)
- 403 quotaExceeded: その日のクォータを使い切った
- 403 の Requests from referer ... are blocked: リファラー制限・IP 制限と呼び出し元が一致していない
キーを安全に扱うために
- キーをソースコードに直接書いて Git に push しない。環境変数や
.envファイルで管理し、.gitignoreに入れる - 漏えいに気づいたら、コンソールでキーを再生成(または削除して新規作成)する
- 可能ならブラウザから直接呼ばず、自分のサーバー経由で呼んでキーを公開しない