2017-03-26 124 views
1

有一個非常簡單的例子,在PHP中使用Youtube API,以某種方式無法在我的情況下工作,我找不到一個確定的解決方案。file_get_contents()「無法打開流:網絡無法訪問」有效鏈接上的錯誤

我希望在沒有任何包裝的情況下使用Youtube API來獲取視頻數據。以下search:list查詢完美,當我嘗試通過瀏覽器(作爲鏈接)訪問它時,但在PHP中,當我嘗試相同時,我得到了該錯誤。

 $apikey_YT = <my API key>; 
     $ytrequrl = "https://www.googleapis.com/youtube/v3/search?". 
       "part=snippet". 
       "&maxResults=50". 
       "&q=doom". 
       "&relatedToVideoId=h8j2zj-A5tE". 
       "&type=video". 
       "&key=${apikey_YT}"; 

     $result = file_get_contents($ytrequrl); 
     var_dump($result); 

的潛在問題是URL編碼,或允許allow-url-fopen,但也似乎在我的情況,以幫助:前者居然給了一個新的錯誤消息:No such file or directory

我該怎麼辦?

+0

'$ {apikey_YT}'?變量變量? ''''''''''''''''可以放棄''''' – Xorifelse

+0

@Xorifelse一個特定於php的語法,用於將變量值放入字符串中,而不用''打斷它們。「 - 我多次測試了字符串,並且它正常工作。但可能值得一試。 –

+0

@Xorifelse做到了,但沒有發生任何變化。 –

回答

1

試試吧。可能是你的格式。 這適用於我。

$ytrequrl = 'https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=50&q=doom&relatedToVideoId=h8j2zj-A5tE&type=video&key='.$apikey_YT; 

$info= file_get_contents($ytrequrl); 
$info= json_decode($info, true); 

print("<pre>".print_r($info,true)."</pre>"); 
相關問題