0

我想在我网站的一个块中显示我上传到我的 youtube 频道的最后 5 个视频。我目前有这个产生 xml 文件的 url。

我不知道我应该在 youtube 的哪个位置自定义这个 xml 文件可以说我只希望它只返回最后 5 个视频。

此外,它在entry标签中返回某种 html 格式的内容,用于我在 youtube 中为上传文件编写的描述。例如,对于我的一个视频,它显示如下:

<div style="color: #000000;font-family: Arial, Helvetica, sans-serif;     font-size:12px; font-size: 12px; width: 555px;">
<table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td width="140" valign="top" rowspan="2"><div style="border: 1px solid #999999; margin: 0px 10px 5px 0px;"><a href="http://www.youtube.com/watch?v=Ihy785MpH7g&amp;feature=youtube_gdata"><img alt="" src="http://i.ytimg.com/vi/Ihy785MpH7g/0.jpg"></a></div></td>
<td width="256" valign="top"><div style="font-size: 12px; font-weight: bold;"><a style="font-size: 15px; font-weight: bold;                  font-decoration: none;" href="http://www.youtube.com/watch?v=Ihy785MpH7g&amp;feature=youtube_gdata">TinyOS Tutorial #3 - Quick overview and HelloWorld application!</a>
<br></div>
<div style="font-size: 12px; margin: 3px 0px;"><span>Topics:
-Quick overview of TinyOS
-Application Structure in TinyOS
-Simple HelloWorld application
-Extending HelloWorld applications with timers</span></div></td>
<td style="font-size: 11px; line-height: 1.4em; padding-left: 20px;             padding-top: 1px;" width="146" valign="top"><div><span style="color: #666666; font-size: 11px;">From:</span>
<a href="http://www.youtube.com/channel/UCJ61QPujJj-3E113XXIpRQg">ElectronicsPubVideos</a></div>
<div><span style="color: #666666; font-size: 11px;">Views:</span>
37</div>
<div style="white-space: nowrap;text-align: left"><img style="border: 0px none; margin: 0px; padding: 0px;                    vertical-align: middle; font-size: 11px;" align="top" alt="" src="http://gdata.youtube.com/static/images/icn_star_full_11x11.gif"> <img style="border: 0px none; margin: 0px; padding: 0px;                    vertical-align: middle; font-size: 11px;" align="top" alt="" src="http://gdata.youtube.com/static/images/icn_star_full_11x11.gif"> <img style="border: 0px none; margin: 0px; padding: 0px;                    vertical-align: middle; font-size: 11px;" align="top" alt="" src="http://gdata.youtube.com/static/images/icn_star_full_11x11.gif"> <img style="border: 0px none; margin: 0px; padding: 0px;                    vertical-align: middle; font-size: 11px;" align="top" alt="" src="http://gdata.youtube.com/static/images/icn_star_full_11x11.gif"> <img style="border: 0px none; margin: 0px; padding: 0px;                    vertical-align: middle; font-size: 11px;" align="top" alt="" src="http://gdata.youtube.com/static/images/icn_star_full_11x11.gif"></div>
<div style="font-size: 11px;">1
<span style="color: #666666; font-size: 11px;">ratings</span></div></td></tr>
<tr><td><span style="color: #666666; font-size: 11px;">Time:</span>
<span style="color: #000000; font-size: 11px; font-weight: bold;">42:52</span></td>
<td style="font-size: 11px; padding-left: 20px;"><span style="color: #666666; font-size: 11px;">More in</span>
<a href="http://www.youtube.com/videos?c=28">Science &amp; Technology</a></td></tr></tbody></table></div>

我需要的只是几件事:标题、链接、视频的屏幕截图(我在 youtube 本身中选择的)和原始描述文本。这样我就可以用我自己的风格把它们很好地放在我的网站上。

4

1 回答 1

1

这对我有用

$string = file_get_contents('https://gdata.youtube.com/feeds/api/users/USER_NAME/uploads?v=2&alt=json&max-results=5&orderby=published');

if($result = json_decode($string, true)) {
    foreach($result['feed']['entry'] as $entry) {
        echo "Title: ".$entry['title']['$t']."<br />";
        echo "Description: ".$entry['media$group']['media$description']['$t']."<br />";
        echo "Published: ".$entry['published']['$t']."<br />";
        echo "Link: ".$entry['link'][0]["href"]."<br />";
        echo "Thumb: ".$entry['media$group']['media$thumbnail'][0]['url']."<br />";
        echo "<hr />";
    }
} else{
    echo "<h1>Problem with service</h1><br />";
    echo $output;
}

希望有帮助。

于 2013-01-23T19:49:09.203 回答