2011-01-05 8 views
1

Ich verwende PHP, um auf YouTube-Videoattribute zuzugreifen, z. Titel, URL, Vorschaubild, Dauer usw.Zugriff auf YouTube yt: Bewertung (like/Abneigung) System in PHP

Nicht, dass gd: rating (5 Sterne Bewertungen) wurde von yt: rating (like/Abneigung System) ersetzt, ich versuche, meine PHP zu ändern.

gd: Bewertung (alt)

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

yt: Bewertung (neu)

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

Mit dem yt: Bewertung Code hat nicht funktioniert. Selbst wenn ich eine print_r($yt->rating); mache, ist nichts im Array.

Wohin gehe ich falsch?

Antwort

2

Korrektur. Sie können.

Die URL muss dies am Ende angefügt zugreifen:

$url = 'http://gdata.youtube.com/feeds/api/videos/' . $vid . '?v=2'; 

, die den Unterschied gemacht - so das letzte Bit von meinem Code:

// 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; 
+0

Ja, das letzte Bit von meinem Code ist Ihrem Code sehr ähnlich - also ist der Schlüssel die URL, auf die Sie zugreifen. – keif

Verwandte Themen