2011-01-05 2 views
1

PHP를 사용하여 YouTube 동영상 속성에 액세스하고 있습니다. 제목, URL, 미리보기 이미지, 재생 시간 등YouTube에 액세스하기 : PHP의 등급 (좋아요/싫어함)

gd : rating (별 5 개 평점)이 yt : rating (like/dislike system)으로 대체되었으므로 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);을 수행하더라도 배열에는 아무 것도 없습니다.

어디로 잘못 가고 있습니까?

답변

2

수정. 할 수있어.

이이 끝에 추가 요구에 액세스하면 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; 
+0

그래, 내 코드의 마지막 비트 귀하의 코드와 매우 유사합니다 - 그래서 열쇠는 당신이 그것을 액세스하는 URL입니다. – keif