PHP:如何解析从YouTube JSON响应派生的关联数组?

PHP:如何解析从YouTube JSON响应派生的关联数组?,php,json,youtube,youtube-api,Php,Json,Youtube,Youtube Api,我试图做的是从YouTube频道获取每个视频的视频信息,然后将它们打印在一个页面上,因为只有15个视频,所以应该在使用限制内 我已经在网站上阅读了一些教程和许多问题,但我似乎仍然无法整理出我需要的:/ 以下是我迄今为止的尝试: $url = 'http://gdata.youtube.com/feeds/api/videos?max-results=20&alt=jsonc&orderby=published&format=5&safeSearch=none&am

我试图做的是从YouTube频道获取每个视频的视频信息,然后将它们打印在一个页面上,因为只有15个视频,所以应该在使用限制内

我已经在网站上阅读了一些教程和许多问题,但我似乎仍然无法整理出我需要的:/

以下是我迄今为止的尝试:

$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'];
我知道这可能只可能得到视频的直接链接,但在阅读了这篇文章后,我相信如果我能得到那么远的话,我将能够把它嵌入其中

我还将url中的
json
更改为'jsonc',每个返回的内容之间似乎有很大差异,我更改的原因是因为我确信YouTube上说要使用jsonc


非常感谢您的帮助

请求:http://gdata.youtube.com/feeds/api/videos/[VIDEO_ID_HERE]将为您提供一个包含所有视频数据的xml响应,也许这将帮助您

根据您的粘贴,正确的代码将是:


嗨,安德鲁,谢谢,但我试图通过编程实现这一切,只知道频道,并使用它获取所有视频信息,如果需要的话,还可以使用您为每个视频提供链接的提要。我可能不得不这样做。我根本没用过你的链接,所以我现在可能会说一些愚蠢的话。。。但是如果你把这两个链接合并起来呢?一个获取视频列表,第二个获取视频数据?我不知道你的链接提供了什么,所以我可能会再次说一些愚蠢的话,安德鲁,不确定这是否可以做到,我想我需要从频道提要中获取每个视频的链接并存储它们,然后检查每个链接并按照你的建议做。@martincarlin87抱歉。。老实说,鲁菲尼乌斯,我不太确定!我从我正在查看的另一个问题中得到了一些代码。嗨,鲁菲努斯,很抱歉延迟回答,我昨天被分配了另一个工作任务
$body1
包含YouTube从外观上的json响应。尝试
打印(json解码($body1))我不确定你在那里的这个str_替换是否需要。是的,我现在稍微更改了代码。你可以发布打印输出吗?太好了。非常感谢您在整个问题过程中的耐心,很长一段时间内跟踪回答某人的疯狂问题并不容易,谢谢!
Video Title

Video Description

Rating

Anything else useful that is returned in the json response.

Embedded video
foreach($data['data']['items'] as $item) {
    echo $item['title'];
    echo $item['description'];
    echo $item['rating'];
    echo $item['player']['default'];
    // whatever you need....
}