访问YouTube的YT:等级(喜欢/不喜欢)系统PHP
问题描述:
我使用PHP来访问YouTube视频的属性,例如标题,URL,缩略图,持续时间等访问YouTube的YT:等级(喜欢/不喜欢)系统PHP
这并不是说GD:评分(5个星评级)已取代YT:等级(喜欢/不喜欢系统),我想修改我的PHP。
GD:评级(旧)
$gd = $entry->children('http://schemas.google.com/g/2005');
if ($gd->rating) {
$attrs = $gd->rating->attributes();
$rating = $attrs['average'];
} else {
$rating = 0;
}
YT:评级(新)
$yt = $entry->children('http://gdata.youtube.com/schemas/2007');
if ($yt->rating && $yt->rating[0]->attributes()) {
$attrs = $yt->rating[0]->attributes();
$videoobj[$loopCounter]['dislikes'] = strval($attrs['numDislikes']);
$videoobj[$loopCounter]['likes'] = strval($attrs['numLikes']);
} else {
$videoobj[$loopCounter]['dislikes'] = 0;
$videoobj[$loopCounter]['likes'] = 0;
}
使用YT:等级代码没有工作。即使我做了print_r($yt->rating);
,没有什么在数组中。
我哪里错了?
答
校正。您可以。
您访问的需求来追加到结尾的网址:
$url = 'http://gdata.youtube.com/feeds/api/videos/' . $vid . '?v=2';
这一切都不同 - 所以我的代码最后一位:
// get <yt:rating> node for like/dislikes
$yt = $entry->children('http://gdata.youtube.com/schemas/2007');
$attrs = $yt->rating->attributes();
$obj->dislikes = $attrs['numDislikes'];
$obj->likes = $attrs['numLikes'];
echo $obj->dislikes;
echo ' ';
echo $obj->likes;
呀,我的代码的最后一位非常类似于您的代码 - 关键是您正在访问的URL。 – keif 2011-02-10 21:24:11