【YouTube】RSSフィードを使って最新動画をモニタリングする

この記事は約7分で読めます。

※この記事にはプロモーションが含まれています。

こんにちは、まことちゃん(@HosiharaMakoto)です。

唐突な質問ですが、お気に入り動画をその都度アクセスして見ていませんか?

お気に入りのチャンネルがたくさんあると面倒ですよね、しかも、それなりに時間も費やします。

本記事は、RSSフィードを使ってお気に入りチャンネルをまとめて表示させたページを作成することで、効率よく「最新のお気に入りYouTube動画をモニタリングする方法」について解説します。

RSSフィードとは?

RSSとは、日付やタイトル、その内容の要約等を配信するための技術です。 フォーマットがXML形式で記述されており、専用の「RSSリーダー」というツールを使用する事により様々なサイトの更新情報を自動的に取得、閲覧できるようになります。

RSS機能を使う場合は、テキストベースの記事の更新情報を自動的に取得、閲覧できるようにするのが一般的な使い方です。その方法については別の記事で説明していますのでご参考に!

動画の埋め込みを自動化する

通常は、埋め込みたいYouTube動画を選択し、ツールメニューの「共有」から「動画の埋め込み」のコードをコピペしてページに貼り付けていると思います。

本記事は、この作業を自動で行い最新のYouTube動画をWebページに貼り付ける方法です。

具体的には、PHPというものを使ってYoutubeからRSS情報を取得し、iframeの埋め込み形式で出力するというものです。

iframeとは?

iframeとは、Web内に矩形の領域を設けて、その領域内にsrc属性で指定したURLを読み込んで表示するHTMLタグのことをいいます。

このiframeは、Inline Frameの略称で「インラインフレーム」「アイフレーム」と呼ばれます。

こんな感じで表示されます。

YouTubeチャンネルのRSSを取得する

RSSの取得方法は?

まず最初にYouTubeチャンネルのRSSを取得する必要があります。

YouTubeにはRSSのアイコンなどがないのでURLの確認が難しいのですが、下記のようにユーザー名またはチャンネルIDを指定することでRSSフィードを取得することができます。

#チャンネルIDを指定してRSSを取得

https://www.youtube.com/feeds/videos.xml?channel_id=チャンネルID

#ユーザー名を指定してRSSを取得
https://www.youtube.com/feeds/videos.xml?user=ユーザ名

でも、自分自身のチャンネルIDはYouTube Studioカスタマイズ基本情報 で確認できますが、他人のチャンネルでカスタム URLを使用されている場合はチャンネルIDがわかりませんよね。

他人のチャンネルURLからチャンネルIDを抽出する

チャンネルIDが不明な場合、以下のサイトで調べると簡単にチャンネルIDを調べることができます。

下図の「チャンネルURL」(青枠)に調べたいYouTubeチャンネルのURLを入力し、確認をクリックすれば、「チャンネルID」枠)を抽出することができます。

チャンネルIDを指定してRSSを取得

次に、取得した「チャンネルID」からRSSを取得します。

まことちゃん
まことちゃん

お気に入りYouTubeチャンネルのRSSフィードは取得できましたか?

PHPを使いiframeの埋め込み形式で出力する

RSSフィードを取得できることがわかったら、PHPを使ってWebサイトに実装してみましょう。

プラグイン「Insert PHP Code Snippet」をインストール

プラグイン「Insert PHP Code Snippet」を使えば、記事にショートコードを貼り付けるだけで簡単にWordPressに埋め込むことが可能になります。

インストール手順

  1. プラグインのページを開きます
  2. 新規追加をクリックします
  3. 「Insert PHP Code Snippet」で検索します
  4. 「Insert PHP Code Snippet」をインストールします
  5. プラグインを有効化します

WordPressにPHPのコードを埋め込む方法

  1. WordPressメニューの「XYZ PHP Code」をクリックします
  2. Add New PHP Code Snippet」をクリックします
  3. タイトルPHPコードを入力します(テンプレートをコピペしチャンネル_idを書き換えて下さい) … 補足図参照
  4. Create」をクリックします … 補足図参照
  5. 作成したコードの[Snippet Short Code]をコピーします … 補足図参照
  6. コピーしたショートコードを記事(埋め込む箇所)に貼り付けます

3.と4.の詳細説明(補足図)

Tracking Name(青枠)に任意の名称を入力

PHP codeを入力(赤枠)

channel_idを書き換える

最後にCreate(黒枠)をクリック

5.の詳細説明(補足図)

作成されたショートコード(赤枠)をコピーする

PHPコード(テンプレート)

<?php
$url = "https://www.youtube.com/feeds/videos.xml?channel_id=xxxxxxxxxxxx";
$rss = file_get_contents($url);
$rss = preg_replace("/<([^>]+?):(.+?)>/", "<$1_$2>", $rss);
$rss = simplexml_load_string($rss,'SimpleXMLElement');
echo '<ul>';
foreach($rss->entry as $value) {
	echo '<li>';
	echo '<div class="youtube-box"><iframe src="https://www.youtube.com/embed/' . htmlspecialchars($value->yt_videoId) . '" frameborder="0"></iframe></div>';
	echo '<p><a href="https://www.youtube.com/watch?v=' . htmlspecialchars($value->yt_videoId) . '" target="_blank">' . htmlspecialchars($value->title) . '</a></p>';
	echo '</li>';
}
echo '</ul>';
?>

iframeで埋め込み出力した結果

ショートコードを記事に貼り付けて出力させた結果は以下のとおりです。

まとめ

YouTube動画もRSSフィードを使って更新情報を自動的に取得することができます。

但し、PHPを使用しないとYouTube動画の埋め込みができないため、本記事ではプラグイン「Insert PHP Code Snippet」を使用することにしました。

PHPをWordPress上で直接編集することはできますが、上級者向け(バックアップ作業は必須)なので、なるべくリスクをかけないようにすることも重要です。

ちなみに直接編集する場合は、編集ミスによってPHPファイル内でエラーが起こるとサイトにアクセスできなくなるようなので、必ずFTPを使用して編集するようにしましょう。

まことちゃん
まことちゃん

最後まで読んで頂き、ありがとうございます!

error: Content is protected !!