【PHP】Youtube Data APIを使ってチャンネル登録者数と再生数を取得する

3 min

Youtubeチャンネルの登録者数や累計再生数をプログラムを使って自動取得したい場合、Youtube Data APIを使うことで無料で簡単に取得できます。

今回はYoutube Data APIを使ってチャンネル登録者数や動画再生数を取得するプログラムを紹介します。

ちなみに今回のサンプルではPHPを使っていますが、Yutube Data APIはGETリクエストで取得できるので、他の言語でも簡単にできるはずです。

Google Cloud PlatformでYoutube Data APIを準備する

Youtube Data APIはGoogle Cloud PlatformでAPIを有効化したプロジェクトを作成することで利用可能です。

  1. STEP

    プロジェクトの作成

    [リソースの管理]ページにアクセスし、プロジェクトの作成を選択します。

    適当にプロジェクト名を決め、作成をクリックします。

    作成したらしばらく待ちましょう。

  2. STEP

    Youtube Data APIの追加

    プロジェクトを作成しただけではYoutube Data APIが有効化されていません。

    左上にメニューアイコンをクリックし、メニューを表示します。

    APIとサービスにカーソルを合わせたら表示されるライブラリをクリックします。

    このままYoutube Data APIを有効化しに行ってもいいのですが、一度今現在操作しているプロジェクトが間違っていないかチェックしましょう。

    赤枠で囲った箇所がプロジェクト名なので、違っていた場合はクリックして切り替えましょう。

    プロジェクトに問題なければ「API とサービスを検索」に”Youtube Data API”を入力して、ヒットしたYoutube Data APIをクリックします。

    有効にするをクリックします。

    これでYoutube Data APIがプロジェクト内で有効化されました。

    続いては、PHPで使うためのAPIキーを発行します。

  3. STEP

    APIキーの発行

    左メニュー開きAPIとサービス管認 -> 認証情報へと進みます。

    [認証情報を作成]をクリックし、「APIキー」を選択します。

    しばらく待つと API キーが表示されます。このAPIキーはPHPでAPIを呼び出す時に使うのでどこかにメモしておいてください。

ここまでできたらGoogle Cloud Platformでの準備完了です。

サンプルコード

それではチャンネル登録者数などを取得してみましょうか。

Youtube Data APIはGETリクエストで取得できるため、ブラウザのURL欄直打ちでも取得できます。

PHPコードを見る前に試しにブラウザでYoutube Data APIを使ってみましょう。

以下のURLのAPIキーを自分のAPIキーに置き換えてブラウザの URL欄に貼り付けてみてください。

https://www.googleapis.com/youtube/v3/channels?part=snippet,statistics&id=UCJhjE7wbdYAae1G25m0tHAA&key=APIキー

使用しているブラウザやアドオンによって表示形式は変わりますが、チャンネル情報のJSONデータが取得できたはずです。

プログラムではこのURLを直接リクエストすることで、簡単に取得できるようになっています。

実際にPHPでチャンネル登録者数とチャンネル累計再生数を取得する場合は以下のコードで取得可能です。

$json=file_get_contents('https://www.googleapis.com/youtube/v3/channels?part=snippet,statistics&key='.$apikey.'&id='.$channel_id);

$json= mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN');
$json = json_decode($json);

$json->items[0]->statistics->viewCount;
$json->items[0]->statistics->subscriberCount;

statistics->viewCountがチャンネル内動画累計再生数・statistics->subscriberCountがチャンネル登録者数となっています。

取得データはJSONでAPI呼び出しも簡単なので、URLでデータを取得する方法さえ分かれば他のプログラミング言語でも簡単に取得できるでしょう。