【问题标题】:Having a custom xml from youtube channel拥有来自 youtube 频道的自定义 xml
【发布时间】:2013-01-07 09:44:21
【问题描述】:

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

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

Alos,它在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 本身中选择的)和原始描述文本。这样我就可以用我自己的风格很好地把它们放在我的网站上。

【问题讨论】:

    标签: php youtube youtube-api


    【解决方案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;
    }
    

    希望对您有所帮助。

    【讨论】:

    • 你知道如何让拇指变大吗?
    • 如果您检查$entry['media$group']['media$thumbnail'],它是一组缩略图。该数组中通常有 6 个拇指。
    • 您能否在您的答案中添加如何提取视频描述?那太好了!
    • 检查编辑。此外,您可以在foreach 之前执行echo "&lt;pre&gt;"; print_r($result); echo "&lt;/pre&gt;"; 并检查您可以提取哪些所有字段。
    猜你喜欢
    • 2014-10-25
    • 2013-09-12
    • 2011-09-11
    • 1970-01-01
    • 2018-06-18
    • 1970-01-01
    • 2014-06-06
    • 2018-02-07
    • 2018-04-16
    相关资源
    最近更新 更多