API PHP 自動化

YouTube APIとPHPでWebサイトに最新動画を自動で埋め込む方法

私は「VARS」というロックバンドをやっています。

その「VARS」のWebサイトのトップページに「VARS」のYouTube最新動画を自動表示させることにしました。

「VARS」のWebサイトのトップページはPHPを使っています。

PHPからYouTube API最新動画の情報を取得して埋め込む方法のご紹介です。

投稿者「みか」自己紹介

  • パソコンとデータベースが大好き
  • 自社でネットワーク・システム・機器管理、Webサイト構築
  • 自社向けのシステムをMicrosoft AccessやPHPで多数構築
  • Excelでの作業はVBAを使って効率化
  • ロックバンド「VARS」でベース担当
  • 「VARS」のWebサイト、ブログも構築
  • 「VARS」のライブを観に来てね!https://vasofatum.jp/live/

YouTube Data APIキーの取得

YouTube Data APIキーを取得します。

https://console.cloud.google.com/?hl=ja

Googleにサインインし、上記Google CloudのURLにアクセスし、利用規約を読んで「同意」にチェックし、[同意して続行]をクリックします。

Googleにサインインし、URLにアクセスし、利用規約を読んで「同意」にチェックし、[同意して続行]をクリック

[プロジェクトの選択]をクリックします。

[プロジェクトの選択]をクリックします。

[新しいプロジェクト]をクリックします。

[新しいプロジェクト]をクリックします。

「プロジェクト名」を入力し、[作成]をクリックします。

「プロジェクト名」を入力し、[作成]をクリックします。

プロジェクトが作成されたので、[プロジェクトを選択]をクリックします。

プロジェクトが作成されたので、[プロジェクトを選択]をクリックします。

Google Cloutの左上のハンバーガーメニュー>[APIサービス]>[ライブラリ]をクリックします。

[YouTube Data API v3]が表示されるまで下へスクロールします。

[YouTube Data API v3]をクリックします。

「YouTube Data API v3」を「有効にする」をクリックします。

[認証情報を作成]をクリックします。

「APIを選択」欄で「YouTube Data API v3」を選択し、「一般公開データ」にチェックを入れ、[次へ]をクリックします。

APIキーが表示されていますので、メモ帳などにコピペしておきます。[完了]をクリックします。

左側メニューの[認証情報]をクリックします。

作成したAPIキーをクリックします。

作成したAPIキーの「名前」欄にわかりやすいような名前を入力します。
「アプリケーションの制限の設定」はPHPから取得するので「なし」を選択します。
「APIの制限」は「キーを取得」を選択します。

「キーを制限」の下のセレクトボックスは「YouTube Data API v3」を選択します。

[保存]をクリックします。

YouTube APIの準備は終了です。

PHPからYouTubeのデータを取得しWebサイトへ表示する

自分のYouTubeのチャンネルのチャンネルIDをメモ帳などにコピペしておきます。

Webサイトの同じドメイン内でWordPressを使っているので、「wp-config.php」の中にYouTubeチャンネルIDとYouTube APIキーを定数として定義しておきます。

// YouTube用API用
define( 'VARS_YOUTUBE_CHANNEL', 'UC_GbU2ErkYplgbVwuGsNQUQ' );
define( 'VARS_YOUTUBE_APIKEY', 'xxxxxxxxxxxxxxxxxxxxxxxxx' );

サイト内のどのページからも取得できるように、YouTubeの情報を取得するスクリプトを別ファイルで作成します。ファイル名は「func_youtube.php」にしました。

func_youtube.php

<?php
function get_new_youtube(){
    // VARS YouTube
    $get_vars_youtube = "https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=" . VARS_YOUTUBE_CHANNEL . "&maxResults=1&order=date&type=video&key=" . VARS_YOUTUBE_APIKEY;
    $youtube_dt = file_get_contents($get_vars_youtube);
    $youtube_dt_decode = json_decode($youtube_dt, true);

    return $youtube_video_id;
}

YouTubeを表示したいphpファイルの中のスクリプトです。

<?php
require_once "blog/wp-config.php";
require_once "func_youtube.php";

$youtube_video_id = get_new_youtube();
$youtube_disp = "<div class='youtube_iframe'>";
$youtube_disp .= "<iframe width='560' height='315' src='https://www.youtube.com/embed/".$youtube_video_id."' frameborder='0' allow='accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture' allowfullscreen></iframe>";
$youtube_disp .= "</div>";
echo $youtube_disp;
?>

これで、最新動画がWebサイト上に表示されるようになりました!

VARS Webサイトトップページ

-API, PHP, 自動化
-, , , , ,