我要做的是从YouTube频道获取每个视频的视频信息,然后将其打印在一个页面上,只有15个视频,因此它应该在使用限制范围内。
我已经阅读了一些关于网站和许多SO问题的教程,但我似乎仍然无法将我需要的东西放在一起:/
以下是我到目前为止的尝试:
$url = 'http://gdata.youtube.com/feeds/api/videos?max-results=20&alt=jsonc&orderby=published&format=5&safeSearch=none&author=OpticalExpressUK&v=2';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, $url);
$body = curl_exec($ch);
curl_close($ch);
$data = json_decode($body, true);
echo '<pre>';
var_dump($data);
echo '</pre>';
// trying to get something out of the array!
echo $data[1]['title'];
此基础来自:php youtube json decode
我的理想输出将是:
Video Title
Video Description
Rating
Anything else useful that is returned in the json response.
Embedded video
我知道可能只能获得视频的直接链接,但在阅读完之后,我确信如果能够实现这一点,我将能够将其嵌入。
我还将网址中的json
更改为'jsonc',每次返回的内容之间似乎存在很大差异,我改变的原因是因为我确信在YouTube上它说要使用jsonc ?
非常感谢任何帮助!
答案 0 :(得分:1)
根据您在http://pastebin.com/eZ6U3RmS上的粘贴,正确的代码为:
foreach($data['data']['items'] as $item) {
echo $item['title'];
echo $item['description'];
echo $item['rating'];
echo $item['player']['default'];
// whatever you need....
}
答案 1 :(得分:0)
请求:http://gdata.youtube.com/feeds/api/videos/ [VIDEO_ID_HERE]会为您提供包含所有视频数据的xml回复或许这会对您有所帮助