Youtube API v3,从单个视频

时间:2015-05-13 07:21:05

标签: php api view youtube count

嗨我试图使用Youtube API v3从单个YouTube视频中显示视频观看次数,

使用https://www.googleapis.com/youtube/v3/videos?id=7lCDEYXw3mM&key=MYKEY&part=snippet,contentDetails,statistics,status&alt=json

这是我回来的结果。 检查jsfiddle链接

https:// jsfiddle.net/ou5vopqt /

现在我无法处理的部分,如何显示viewcount,使用php我猜? 如果有人可以帮助我,我会很高兴。

<?php 
$video_ID = "SyphzxruFeo";
$jsonURL = file_get_contents("https://www.googleapis.com/youtube/v3/videos?id={$video_ID}&key=MYkey&part=statistics");
$json = json_decode($jsonURL);
$views = $json->{'items'}[0]->{'statistics'}->{'viewCount'};
echo number_format($views,0,'.',',');
 ?> 

这很有用。感谢

2 个答案:

答案 0 :(得分:1)

我已创建此功能以检索ViewsCount,这适用于Youtube Api v3

public function youtube_views($url)
{
    $api_key = "Your_Api_for_youtube";
    parse_str( parse_url( $url, PHP_URL_QUERY ), $my_array_of_vars );
    $video_ID = $my_array_of_vars['v']; 

    $url_content = "https://www.googleapis.com/youtube/v3/videos?id={$video_ID}&key={$api_key}&part=statistics";
    $ch = curl_init();
    curl_setopt ($ch, CURLOPT_URL, $url_content);
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 5);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
    $contents = curl_exec($ch);
    if (curl_errno($ch)) 
    {
      echo curl_error($ch);
      echo "\n<br />";
      $contents = '';
    } 
    else 
    {
      curl_close($ch);
    }

    if (!is_string($contents) || !strlen($contents)) {
    echo "Failed to get contents.";
    $contents = '';
    }

    $JSON_Data = json_decode($contents);
    return $JSON_Data->{'items'}[0]->{'statistics'}->{'viewCount'};
}

例如使用函数

youtube_views("https://www.youtube.com/watch?v=7cwZGYYPgZM");

答案 1 :(得分:0)

我们需要更多上下文来帮助您,但作为一般问题的一般答案,我想指出您阅读有关JSON和jQuery的内容。

点击此链接:http://api.jquery.com/jquery.getjson/

如果没有适当的背景,我无法帮助你。