我尝试使用Youtube Data API v3从YouTube视频中获取标题和说明。我写了一个简单的功能:
function get_data_from_yt($yt_id) {
$key = YT_API_KEY;
$yt_id = urlencode($yt_id);
$data_string = file_get_contents("https://www.googleapis.com/youtube/v3/videos?id=$yt_id&key=$key&part=snippet");
$data = json_decode($data_string, true);
return $data;
}
问题是当我尝试使用此功能时,它会给我这个错误
Warning: file_get_contents(https://www.googleapis.com/youtube/v3/videos?id=7Wj_q7HBP48&key=MY_API_KEY&part=snippet): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden
我的API密钥设置了IP限制,但我将我的serwer的IP添加到白名单中。我还添加了我的计算机IP,并尝试用我的浏览器打开此链接,它工作正常。此外,当我关闭关键限制时,整个过程完美无缺。
由于显而易见的原因,我不想让我的密钥不安全,但我不知道如何克服这个问题。非常感谢帮助。
如果需要,我会提供更多信息。