こんにちはJitanTechです。
今回はPHPでYouTube Data APIを使用してチャンネル登録者数を取得する方法をご紹介します。
このプログラムを作成した経緯は、プログラムを定期実行させて登録者数をデータベースに保存し、登録者数の推移が分かるようにしたいと思ったからです。
自身の端末ではなく24時間稼働しているレンタルサーバー上で自動実行させることで、安定してデータが取得できます。
今回の実行環境は以下のとおりです。
- サーバー:エックスサーバー
- OS:Linux
ではいってみましょう。
パッケージのインストール
まずはサーバーにYouTubeAPIを使用するためのパッケージをインストールします。まずはパッケージを使用するプログラムと同じ階層に移動します。今回は「youtube-project」というフォルダ内にパッケージをインストールしようと思います。
[ユーザ名@サーバ名 ~]$ cd ./jitantech.com/public_html/youtube-project/
次に以下のコマンドでパッケージをインストールします。※composerはPHPのパッケージ管理ツールです。Pythonのpipと同じような感覚で使用できます。
もしサーバーにcomposerが入っていない場合は次の記事を参考に、まずはcomposerをサーバーにインストールしましょう!

今回は「youtube-project」フォルダにインストールするので、以下のようになります。
[ユーザ名@サーバ名 youtube-project]$ composer require google/apiclient
実行すると、以下のファイルとフォルダが作成されます。

このvendorフォルダの中に必要なパッケージが入っています。これでパッケージのインストールは完了です。
プログラムコード
次にプログラムコードを作成し、拡張子を.phpで保存します。
<?php
//GoogleAPIライブラリを読み込む
require_once (dirname(__FILE__) . '/vendor/autoload.php');
//APIキー
const API_KEY = "ここに自身のAPIキーを入れます";
//認証を行う
function getClient()
{
$client = new Google_Client();
$client->setApplicationName("youtube-api-test");
$client->setDeveloperKey(API_KEY);
return $client;
}
//動画を取得する.
function searchVideos()
{
$youtube = new Google_Service_YouTube(getClient());
//ここに好きなYouTubeのチャンネルIDを入れる
$params['id'] = 'ここに取得したいチャンネルIDを入れます';
$searchResponse = $youtube->channels->listChannels('snippet,statistics', $params);
foreach ($searchResponse['items'] as $search_result) {
echo $search_result['snippet']['title'];
echo "<br>";
echo $search_result['statistics']['subscriberCount'];
}
}
$videos = searchVideos();
?>
今回はこのプログラムをget_subscriber.phpをして保存しました。

使用方法
YouTubeの動画情報を取得するためにはYouTubeAPIを使用する必要があります。APIを使用するにはAPIキーを取得する必要があります。
YoutubeAPIキーの取得
こちらの記事を参考にAPIキーを取得しましょう!

APIキーをプログラムに記載
取得したAPIキーをプログラムの次の部分に記載しましょう。
//APIキー
const API_KEY = “ここに自身のAPIキーを入れます“;
YouTuberのチャンネルIDを調べる
こちらのサイトでYouTuberのチャンネルIDを調べましょう。

チャンネルIDをプログラムに記載
調査したチャンネルIDをプログラムの次の部分に記載しましょう。
//ここに好きなYouTubeのチャンネルIDを入れる
$params[‘id’] = ‘ここに取得したいチャンネルIDを入れます‘;
実行結果
作成したプログラムをURLに指定して読み込みます。すると、チャンネル名と登録者数が画面に表示されました。

さいごに
いかがだったでしょうか。
今回はPHPからYouTube Data APIを使用してチャンネル登録者数を取得する方法をご紹介しました。今後は、複数のチャンネルIDで実行してデータベースに登録する流れを自動実行させる方法をご紹介していきたいと思います。
最後までお読みいただき、ありがとうございました。
※こちらの記事を参考にさせて頂きました。

コメント