3

我的 php 代码使用 YouTube api、标题、视频 url、观看次数、视频日期、最后评论日期和描述的前 160 个字符正确检索。我似乎无法弄清楚如何获得整个描述。我知道它在检索到的 xml 中,因为我已经转储了它。那么为什么我只得到 160 个字符呢?

整个描述被截断为 157 个字符,并添加了“...”,因此当我回显它或 var_dump 它时,它是 160 个字符。这是我的完整测试代码(没有标题、视频网址等)。

<?php 
    $feedURL = 'http://gdata.youtube.com/feeds/api/videos?q=phone&v=2&fields=entry[yt:statistics/@viewCount > 10000]&start-index=1&max-results=1';
    $sxml = simplexml_load_file($feedURL);
    foreach ($sxml->entry as $entry) {
        $media = $entry->children('http://search.yahoo.com/mrss/');
        echo $media->group->description;
    }
?>

这是页面上显示的内容:

免费的 TuTiTu 的游戏:http : //www.tutitu.tv/index.php/games 免费的 TuTiTu 的着色页面:http ://www.tutitu.tv/index.php/coloring加入我们的 Facebook:https...

当我以这种方式获取 xml 时:

gdata.youtube.com/feeds/api/videos/JI-5kh_4gO0?v=2&alt=json-in-script&callback=youtubeFeedCallback&prettyprint=true

整个描述如下所示:

"media$description": {
"$t": "FREE TuTiTu's Games: http://www.tutitu.tv/index.php/games\nFREE TuTiTu's Coloring pages at: http://www.tutitu.tv/index.php/coloring\nJoin us on Facebook: https://www.facebook.com/TuTiTuTV\nTuTiTu's T-Shirts: http://www.zazzle.com/TuTiTu?rf=238778092083495163\n\nTuTiTu - The toys come to life\n\nTuTiTu - \"The toys come to life\" is a 3D animated television show targeting 2-3 year olds. Through colorful shapes TuTiTu will stimulate the children's imagination and creativity. On each episode TuTiTu's shapes will transform into a new and exciting toy.",
"type": "plain"
},

我确定我缺少一些基本的东西,但是当我寻找解决方案时,我还没有找到它。

谢谢你的帮助。

4

2 回答 2

3

这 2 种不同类型的 API 请求将返回不同的描述大小。我认为这是一种限制总响应大小的方法。

1)进行搜索:http://gdata.youtube.com/feeds/api/videos?q=phone&v=2&fields=entry&alt=json&prettyprint=true将返回短视频描述。
2)做一个视频请求,如:http://gdata.youtube.com/feeds/api/videos/JI-5kh_4gO0?v=2&alt=json&prettyprint=true将返回长视频描述。

顺便说一句:api 版本 3 将允许您在 1 个请求中请求视频 ID 列表(以获取其详细描述)。

于 2013-04-23T14:36:26.367 回答
1

$media->group->{'media$description'}应该做的伎俩

于 2013-04-22T22:08:08.180 回答