Google API限制引用错误403

时间:2017-07-15 16:54:12

标签: php google-api youtube-data-api

我设置了一个cron作业,每x分钟执行一次php脚本,使用youtubes data api v3来获取视频视图。

每当我执行脚本时,我都会收到403错误,同样的事情会显示在Google开发者控制台中。

如果我取消我的API密钥引用限制一切正常,但出于安全原因,这显然不是一个选项。

还在google开发者控制台中重新生成了一个新密钥,禁用/重新启用了youtube数据api v3,问题仍然存在。

谷歌开发者控制台API密钥限制中的

http推荐人列表:

*website.com/*

*.website.com/*

http://website.com/*

website.com/*

website.com/script.php

脚本:

$saveLocation = "./videoStatistics.json";

$apiPath = "https://www.googleapis.com/youtube/v3/videos?part=statistics";
$key = "myapikey";

$json = file_get_contents($apiPath."&id=".implode(",", $videos)."&key=".$key);

$data = json_decode($json);

$result = [];

foreach ($data->items as $video) {
    $result[$video->id] = $video->statistics;
}

file_put_contents($saveLocation, json_encode($result));

我也检查了其他问题,但解决方案似乎没有用。新的谷歌开发者控制台似乎没有选择基于浏览器或基于服务器的API创建,如果这甚至是问题。

1 个答案:

答案 0 :(得分:0)

禁用引荐来源限制。

它们适用于在客户端代码中使用API​​密钥的情况,使用户可以查看API密钥。在这些情况下,这些限制会阻止API密钥被其他网站滥用。

由于您在服务器端代码中使用此API密钥,因此您不必担心这一点。如果您需要在其他客户端代码中使用YouTube API,请为其创建单独的API密钥。