2017-03-26 67 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>"); 
相关问题