Home Articles

使用PHP中的Youtube API V3检索缩略图和视频时间

Asked
Viewed 410 times
0

我用https://packagist.org/packages/alaouy/youtube跟着这个啧啧

并且没问题,但我在这个片段中遇到了问题:

$video = Youtube::getVideoInfo('rie-hPVJ7Sw');
var_dump($video);

这是我得到的回应:

object(stdClass)#712(8){[“kind”] => string(13)“youtube#video”[“etag”] => string(57)“”iDqJ1j7zKs4x3o3ZsFlBOwgWAHU / XCpzrqbmTpMEPyMBSGQ0oz6NLe4“”[“id”] => string(11)“rie-hPVJ7Sw”[“snippet”] => object(stdClass)#713(10){[“publishedAt”] => string(24)“2013-03-21T02:28:12.000Z “[”channelId“] => string(24)”UC5ENZAI7prEaHGW1hPgOQEQ“[”title“] => string(48)”Sergey Brin在TED 2013上谈论Google Glass“[”description“] => string(479)”更新:为了解决有关谢尔盖送货不良的评论,我想强调这不是“TED演讲”,尽管它是在TED Session 期间录制的 . 显示最新技术并且没有准备或排练的几乎是自发的外观谷歌眼镜也没有购买,所以它也不是严格意义上的产品促销 . 这个视频的发布主要是因为它有关于Glass的详细信息,以前是未知或未经证实的 . [“缩略图”] => object(stdClass)#714(3){[“default”] => object(stdClass)#715(3){[“url”] => string(46)“https:// i.ytimg.com/vi/rie-hPVJ7Sw/default.jpg“[”width“] => int(120)[”height“] => int(90)} [”medium“] => object(stdClass) #716(3){[“url”] => string(48)“https://i.ytimg.com/vi/rie-hPVJ7Sw/mqdefault.jpg”[“width”] => int(320)[ “height”] => int(180)} [“high”] => object(stdClass)#717(3){[“url”] => string(48)“https://i.ytimg.com/ vi / rie-hPVJ7Sw / hqdefault.jpg“[”width“] => int(480)[”height“] => int(360)}} [”channelTitle“] => string(8)”tedleaks“[” tags“] => array(4){[0] => string(11)”sergey brin“[1] => string(6)”google“[2] => string(12)”google glass“[3 ] => string(3)“ted”} [“categoryId”] => string(2)“28”[“liveBroadcastContent”] => string(4)“none”[“localized”] => object(stdClass) #718(2){[“title”] =>字符串(48)“谢尔盖布林在TED 2013上谈论谷歌眼镜”[“描述”] =>字符串(479)“更新:解决有关谢尔盖的交付不良的评论,我想强调一下这个不是“TED演讲”,尽管它是在TED Session 期间录制的 . 显示最新技术并且没有准备或排练,这几乎是一种自发的外观 . Google Glass也无法购买,因此严格来说也不是产品促销 . 这个视频的发布主要是因为它有关于Glass之前未知或未经证实的详细信息 . “}} [”contentDetails“] => object(stdClass)#719(5){[”duration“] => string(8)” PT13M30S“[”dimension“] => string(2)”2d“[”definition“] => string(2)”sd“[”caption“] => string(5)”false“[”licensedContent“] = > bool(false)} [“status”] => object(stdClass)#720(5){[“uploadStatus”] => string(9)“processed”[“privacyStatus”] => string(6)“public “[”license“] => string(7)”youtube“[”embeddable“] => bool(true)[”publicStatsViewable“] => bool(true)} [”statistics“] => object(stdClass)# 721(5){[“viewCount”] => string(6)“539812”[“likeCount”] => string(4)“2450”[“dislikeCount”] => string(3)“371”[“favoriteCount “] => string(1)”0“[”commentCount“] => string(4)”2247“} [”player“] => object(stdClass)#722(1){[”embedHtml“] => string(116)“

抱歉长输出线 .

我所追求的是视频持续时间,缩略图和视频 Headers .

我猜它应该是这样的某种形式 .

<?php
  foreach($item as $video)
   {
    echo $item['snippet']['thumbnails]['default'];
   }
?>

像这样的东西一直在抛出错误 .

1 Answer

  • 0

    它是一个stdClass,而不是数组 . 获取信息的正确方法是

    <?php
        $video = Youtube::getVideoInfo('rie-hPVJ7Sw');
        echo $video->snippet->thumbnails->default->url;
    ?>
    

Related