从YouTube视频中检索评分

时间:2013-05-26 18:25:42

标签: php api youtube

我一直在搜索如何检索Youtube视频信息并且我有一些好的结果,但仍有一个问题:对于某些视频,我的代码无法检索评级。

我的代码:

$feedURL = 'http://gdata.youtube.com/feeds/api/videos/' . $link;
$entry = simplexml_load_file($feedURL);
$video = parseVideoEntry($entry);

$rating = $video->rating;
$ratingf = (float)$rating*20;

function parseVideoEntry($entry) {      
$obj= new stdClass;

 $gd = $entry->children('http://schemas.google.com/g/2005'); 
 if ($gd->rating) { 
   $attrs = $gd->rating->attributes();
   $obj->rating = $attrs['average']; 
 } else {
   $obj->rating = 0;         
 }
 return $obj;
}

所以,对于某些视频我得到0,我找不到它的原因。一个视频与另一个视频有什么不同吗?

1 个答案:

答案 0 :(得分:0)

您会喜欢这个工具:google developers youtube api

它提供了您自己查询API的JSON,例如:

{
 "kind": "youtube#videoListResponse",
 "etag": "\"g-RLCMLrfPIk8n3AxYYPPliWWoo/lmFpi-LTJ4YMpq66PF5yr558nV8\"",
 "pageInfo": {
  "totalResults": 1,
  "resultsPerPage": 1
 },
 "items": [
  {

   "id": "9bZkp7q19f0",
   "kind": "youtube#video",
   "etag": "\"g-RLCMLrfPIk8n3AxYYPPliWWoo/g7hwtchXAeaF-Q1DpUEFJXvRfbY\"",
   "statistics": {
    "viewCount": "1621240530",
    "likeCount": "7577258",
    "dislikeCount": "787002",
    "favoriteCount": "0",
    "commentCount": "5969060"
   }
  }
 ]
}

您可以在like内看到dislikestatistics计数。因此,每当您不确定响应时,请检查该工具,看看它是否包含您需要的所有内容。