Youtubeの再生リストを表示させる ― http://kihara.coresv.com/2018/10/28/30/I log.

Youtubeの再生リストを表示させる

概要

こちらは、以前別のブログに書いていた内容です。
表示方法メモ。jsonなのでJSでもできますが、ここではphpでやってます。

APIキー

Google API ConsoleでYouTube Data API v3のキーを取得してください。

APIキーの取得方法はYouTube Data API の概要参照。

HTTPリクエスト

https://www.googleapis.com/youtube/v3/[取得情報のタイプ]?part=snippet&[取得用フィルタ名]=[id]&key=[APIキー]

[取得情報のタイプ] 今回は再生リストの内容なので、playlistItems。他には検索結果とか。
part=snippet partのみ必須パラメータ。id,statusなど、取得する内容を指定できる。
snippetは全部の内容取得。
[取得用フィルタ名] idかplaylistId。どちらも再生リストのIDを指定する。
idで指定すると、カンマ区切りで複数指定可能(らしい。試してない。)。
APIキー Google API Consoleで取得したAPIキー。

コード

$api = 'APIキー';
$id = '再生リストのID';
$url = 'https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId='. $id .'&maxResults=50&key=' . $api;
$json = file_get_contents($url);
$json = mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN');
$arr = json_decode($json,true);
echo '<iframe name="youtube" width="560" height="315" src="https://www.youtube.com/embed/' . $arr[items][0][snippet][resourceId][videoId] . '?rel=0&controls=0&showinfo=0" frameborder="0"  allowfullscreen></iframe>';
echo '<ul>';
if ($arr === NULL) {
	echo 'データがありません';
	return;
} else {
	for ($i=0; $i < count($arr[items]); $i++) {
		$title = $arr[items][$i][snippet][title];
		$thumbnails = $arr[items][$i][snippet][thumbnails][high][url];
		$id = $arr[items][$i][snippet][resourceId][videoId];
		echo '<li><a href="https://www.youtube.com/embed/' . $id . '?autoplay=1&controls=0&rel=0&showinfo=0" target="youtube">';
		echo '<img src="' . $thumbnails . '" alt="' . $title . '">';
		echo '</a></li>';
	}
}
echo '</ul>';

試しに表示する再生リスト

米津玄師 MV「Flamingo」米津玄師  MV「Lemon」SPEC 主題歌 「NAMI no YUKUSAKI」あいみょん - 君はロックを聴かない 【OFFICIAL MUSIC VIDEO】amazarashi『空に歌えば』“Singin' to the Sky” Music Video|「僕のヒーローアカデミア」OP曲椎名林檎 - 熱愛発覚中from百鬼夜行椎名林檎 – 人生は夢だらけ

なお、サムネイルにはyoutubeの再生ボタンが含まれないので、cssなどで再生ボタンを重ねてあげる必要がある。

参考サイト

YouTube Data API の概要


categories

実装メモ

tags

, ,

Update log

公開:2018/10/28@22:01