我正在使用PHP访问YouTube视频属性,例如标题,网址,缩略图,持续时间等

并非gd:rating(5星级)已被yt:rating(类似/不喜欢系统)代替,我正在尝试修改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:rating代码无效。即使我执行print_r($yt->rating);,数组中也没有任何内容。

我要去哪里错了?

最佳答案

更正。您可以。

您访问的URL需要将此附加到末尾:

    $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;

关于php - 在PHP中访问YouTube yt:rating(喜欢/不喜欢)系统,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4603651/

10-10 05:53