2013-04-22 111 views
3

我有正确检索,使用YouTube api,标题,视频网址,viewcount,视频日期,最新评论日期和前160个字符的PHP代码描述。我似乎无法弄清楚如何得到整个描述。我知道它在检索到的XML中,因为我已经抛弃了它。那么我怎么才能得到160个字符?如何获得整个YouTube视频说明,php,gdata

整个描述被截断为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-在脚本&回调= youtubeFeedCallback & prettyprint = TR UE

完整的描述是这样的:

"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" 
}, 

我敢肯定,我缺少一些基本的东西,但是当我看了一个解决方案,我还没有发现它。

感谢您的任何帮助。

回答

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列表(以获取其长描述)。

+0

谢谢,尼姑,这是我需要的。我想在描述长度上的差异可能在某个地方被记录下来,但是很好的悲伤,发现它是相当麻烦的。 – Amber 2013-04-23 19:16:09

+1

给出的答案不适用于版本3.使用像这样 - > 'https://www.googleapis.com/youtube/v3/videos?key= &part = snippet&id = Manibharathi 2015-06-29 11:31:21

1

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

+0

所以现在我有 $ str = $ media-> group - > {'media $ description'}; echo“Description:”。$ str。“
”; 但现在它只能打印 说明: 不工作,除非我有语法问题。 – Amber 2013-04-23 01:38:19