【问题标题】:How to get the entire YouTube Video description, php, gdata如何获取整个 YouTube 视频描述、php、gdata
【发布时间】:2013-04-22 21:29:52
【问题描述】:

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

整个描述被截断为 157 个字符,并添加了“...”,所以当我 echo 或 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"
},

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

感谢您的帮助。

【问题讨论】:

    标签: php youtube-api


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢,修女们,这正是我所需要的。我猜描述长度的差异可能会记录在某处,但很遗憾,找到它是一件很麻烦的事。
    • 给出的答案在版本 3 中不起作用。像这样使用 -> https://www.googleapis.com/youtube/v3/videos?key=&lt;YOUTUBE_API_KEY&gt;&amp;part=snippet&amp;id=&lt;YOUTUBE_VIDEO_ID&gt;
    【解决方案2】:

    $media-&gt;group-&gt;{'media$description'} 应该可以解决问题

    【讨论】:

    • 所以现在我有了 $str = $media->group->{'media$description'}; echo "描述:".$str."
      ";但现在它只打印描述:不工作,除非我有语法问题。
    猜你喜欢
    • 2012-05-27
    • 1970-01-01
    • 1970-01-01
    • 2015-07-26
    • 2014-07-31
    • 2019-01-06
    • 2013-01-02
    • 2015-05-14
    • 1970-01-01
    相关资源
    最近更新 更多