0

プレイリストをリストとして出力するためのコードを次に示します。これにより、プレイリストをスタイルアップしてプレーヤーをロードできます。現時点では、必要なデータを確認できる生のデータが必要です。

$playlist_id = "bKIMlqJAz6GSqtm2x2rFQuIa8NKEhCTa";
$url = "https://gdata.youtube.com/feeds/api/playlists/".$playlist_id."?v=2.1&alt=json";
$data = json_decode(file_get_contents($url),true);
$info = $data["feed"];
$video = $info["entry"];
$nVideo = count($video);

echo "Playlist Name: ".$info["title"]['$t'].'<br/>';
echo "Number of Videos (".$nVideo."):<br/>";

for($i=0;$i<$nVideo;$i++){
echo "ID: ".$video[$i]['id']['$t'].'<br/>'; // this line causing problems
echo "Name: ".$video[$i]['title']['$t'].'<br/>';
echo "Link: ".$video[$i]['link'][0]['href'].'<br/>';
echo "Image: <img src='".$video[$i]['media$group']['media$thumbnail'][1]['url']."' /><br />";
}

すべて正常に動作します。私がIDを手に入れることができないことを除いて。

ID は、たとえばこのゴミの束を返します。ID:tag:youtube.com,2008:playlist:bKIMlqJAz6GSqtm2x2rFQuIa8NKEhCTa:PLLdE_Ow1C_Zv2bmDW9Yj8Foj4dKO3C4BJthoFmebTFUs

リンクとタイトルによって正しく返される LFRRGYNOUqs の代わりに。

$video[$i]['id'] が必要なオブジェクトであると思われる Google のドキュメントを検索しました。

では、なぜ動画 ID ではなくその文字列を返すのでしょうか?

4

1 に答える 1

0

XML部分のAPIによると(「json」バージョンは基本的に同じです):「タグは、フィードまたはフィードエントリを一意かつ永続的に識別するURNを指定します。」

https://developers.google.com/youtube/2.0/reference#youtube_data_api_tag_id

あなたの場合、使用できます$video[$i]['media$group']['yt$videoid']['$t']

「json」の代わりに「jsonc」を使用することもできます。これは、xml バージョンの転写を行う代わりに、json 用に特別にフォーマットされたデータを返します。すなわちhttps://gdata.youtube.com/feeds/api/playlists/bKIMlqJAz6GSqtm2x2rFQuIa8NKEhCTa?v=2.1&alt=jsonc

プレイリストの各「アイテム」には、フィード エントリに対応する ID と、独自の ID を持つビデオ セクションがあることがわかります。

于 2013-07-10T16:37:38.940 に答える