2013-12-12 74 views
0

所以我一直在做與imagecreatepng一個動態的簽名,我使用的API是顯示視頻計數通過JSON

(假設用戶名是「googlechrome」)

http://gdata.youtube.com/feeds/api/users/googlechrome?v=2&alt=json

這行顯示我他們有289個視頻:

{"rel":"http://gdata.youtube.com/schemas/2007#user.uploads","href":"http://gdata.youtube.com/feeds/api/users/googlechrome/uploads?v=2","countHint":289}, 

我不確定如何將圖像打印出來。

我的代碼到目前爲止。

語法:domain.com/image.php?channel=googlechrome

yt.png = http://i.imgur.com/OCRWhI6.png

<?php 
$channel = $_REQUEST["channel"]; 
$image = ('yt.png'); 

$im = imagecreatefrompng($image); 

$white = imagecolorallocate($im, 255, 255, 255); 
$width = imagesx($im); 
$height = imagesy($im); 
$font = 2; 

$json_output = file_get_contents('http://gdata.youtube.com/feeds/api/users/'.($channel).'?v=2&alt=json'); 
$json = json_decode($json_output, true); 

$username = $json['entry']['yt$username']['$t']; 
$view_count = $json['entry']['yt$statistics']['totalUploadViews']; 
$sub_count = $json['entry']['yt$statistics']['subscriberCount']; 
//$video_count = $json['entry']['DUNNO_YET']['$t']; 

$UserName = ("".$username); 
imagestring($im, $font, $width-190, $height-59, $UserName, $white); 

$viewCount = ("".$view_count); 
imagestring($im, $font, $width-190, $height-45, $viewCount, $white); 

$subCount = ("".$sub_count); 
imagestring($im, $font, $width-190, $height-30, $subCount, $white); 

$VideoCount = ("".$video_count); 
imagestring($im, $font, $width-190, $height-15, $VideoCount, $white); 

//text before counts 
$UNAME = ('Username:'); 
imagestring($im, $font, $width-278, $height-59, $UNAME, $white); 
$TOTALVIEWS = ('Total Views: '); 
imagestring($im, $font, $width-278, $height-45, $TOTALVIEWS, $white); 
$SUBS = ('Subscribers: '); 
imagestring($im, $font, $width-278, $height-30, $SUBS, $white); 
$TOTALVIDEOS = ('Total Videos: '); 
imagestring($im, $font, $width-278, $height-15, $TOTALVIDEOS, $white); 

Header('Content-type: image/png'); 
imagepng($im); 
imagedestroy($im); 
?> 

任何幫助表示讚賞!

回答

0

$video_count變量應該等於:

$video_count = $json['entry']['gd$feedLink'][6]['countHint']; 

不過,我不確定如果上傳數將永遠是gd$feedLink第六屆指數,所以它可能會使用類似的一個聰明的主意代替:

$video_count = 0; 
foreach ($json['entry']['gd$feedLink'] as $feed) { 
    if ($feed['rel'] == 'http://gdata.youtube.com/schemas/2007#user.uploads') { 
     $video_count = $feed['countHint']; 
     break; 
    } 
} 
+0

謝謝,病態堅持第6個索引現在,它已經一段時間AFAIK。如果它改變了,它應該很容易編輯! – Gav