php – 如何使用YouTube API获取视频时长?

前端之家收集整理的这篇文章主要介绍了php – 如何使用YouTube API获取视频时长?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想获得一个Youtube视频的持续时间.这是我试过的代码
$vidID="voNEBqRZmBc";
//http://www.youtube.com/watch?v=voNEBqRZmBc
$url = "http://gdata.youtube.com/Feeds/api/videos/". $vidID;
$doc = new DOMDocument;
$doc->load($url);
$title = $doc->getElementsByTagName("title")->item(0)->nodeValue;

请检查XML文件.我得到这个视频的标题.我想从< yt:duration seconds = '29'/&gt ;.获取持续时间. 如何获取属性这个< yt>标签

由于即将推出的Youtube v2 API,以下是更新的解决方案.

>首先克隆Google API PHP Client here
>接下来,您将需要通过创建一个新的项目,在“API和auth> API”部分打开Youtube Data API,并注册Google here应用程序,
>在“API和auth>凭证”下创建新的OAuth客户端ID,并将完整路径添加重定向uri列表中. (即http://example.com/get_youtube_duration.php)
>使用this代码(改编自this示例代码),同时确保使用您自己的步骤3中的值填充$OAUTH2_CLIENT_ID和$OAUTH2_CLIENT_SECRET变量.
对$videoId变量的值进行硬编码,或者使用video_id get参数(即http://example.com/get_youtube_duration.php?video_id=XXXXXXX)进行设置
>访问您的脚本,点击链接以授权应用程序,并使用您的Google帐户获取令牌,将重定向到您的代码,并显示持续时间.

这是你的输出

Video Duration

0 mins

29 secs

一些额外的资源:
https://developers.google.com/youtube/v3/docs/videos#contentDetails.duration
https://developers.google.com/youtube/v3/docs/videos/list

以下仅适用于V2 API.

这对我来说是有效的,假设在饲料中只有1个持续时间的元素.

<?PHP

$vidID="voNEBqRZmBc";
//http://www.youtube.com/watch?v=voNEBqRZmBc
$url = "http://gdata.youtube.com/Feeds/api/videos/". $vidID;
$doc = new DOMDocument;
$doc->load($url);
$title = $doc->getElementsByTagName("title")->item(0)->nodeValue;
$duration = $doc->getElementsByTagName('duration')->item(0)->getAttribute('seconds');

print "TITLE: ".$title."<br />";
print "Duration: ".$duration ."<br />";

输出

TITLE: Introducing iTime
Duration: 29

猜你在找的PHP相关文章