2014-02-05 61 views
1

我使用Youtube數據api v3使用以下url檢索搜索查詢數據 https://www.googleapis.com/youtube/v3/search?part=snippet&q=text&key=apikey&maxResults=25使用php從youtube數據api解析json數據v3

我得到JSON響應,而我使用JSON解碼解析JSON數據,我得到空的結果,任何一個可以告訴我如何找回我使用下面的PHP代碼解析數據

$videourl="https://www.googleapis.com/youtube/v3/search?part=snippet&q=hello&key=apikey&maxResults=25"; 
      $json = file_get_contents($videourl); 
      $data = json_decode($json,true); 
print_r($data); 

獲得從下面的網址JSON響應: https://www.googleapis.com/youtube/v3/search?part=snippet&q=hello&key=apikey&maxResults=25

+0

什麼是從谷歌返回的JSON的價值? – BenM

+0

我在JSON字典格式 – lalith458

+0

越來越標題,描述,圖像細節請後返回的JSON和PHP代碼。 – BenM

回答

-1

應測試的file_get_contents的返回值。請注意,如果出現錯誤(而不是NULL),此函數將返回FALSE。所以你應該用=== FALSE測試返回值,以免被空值混淆。

在你的情況,如果你試圖訪問你在你的問題發佈確切的網址,谷歌返回一個代碼400(錯誤的請求),這就是爲什麼你的假回報。

+0

@Jimbo ummmm ......看他的XP。他無法評論。這是他可以回答的唯一方式。責怪堆棧交換。相反每個人都應該評論,但只有高XP評論應該是可見的。 – mAsT3RpEE

+1

@ mAsT3RpEE嗯,看看[此帖](http://stackoverflow.com/help/privileges/comment)。 – Jimbo

0
if (extension_loaded('curl')) { 
    # create a new cURL resource 
    $ch = curl_init(); 

    # set URL and other appropriate options 
    curl_setopt($ch, CURLOPT_URL, "http://googleapis.com/....."); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    # Setting cURL's option to return the webpage data 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 

    # grab URL and pass it to the browser 
    if($json = curl_exec($ch)) { 
     if(!($data = @json_decode($json)) instanceof stdClass) { 
      trigger_error('Unable to decode json. '. print_r(error_get_last(), true)); 
     } 
    } 

    else trigger_error('CUrl Error:'.curl_error($ch)); 

    # close cURL resource, and free up system resources 
    curl_close($ch); 

} 

else trigger_error('CUrl unsupported', E_USER_WARNING);