file_get_contents()"无法打开流:网络无法访问"有效链接上的错误

时间:2017-03-26 14:12:51

标签: php https get youtube-api file-get-contents

在php中使用Youtube API的一个非常简单的例子在某种程度上无法在我的情况下工作,我无法找到明确的解决方案。

我希望自己使用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);

潜在的问题是网址编码,或允许allow-url-fopen,但在我的情况下似乎都没有帮助:前者实际上给出了一条新的错误消息:No such file or directory

我该怎么办?

1 个答案:

答案 0 :(得分: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>");