我设置了一个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创建,如果这甚至是问题。
答案 0 :(得分:0)
禁用引荐来源限制。
它们适用于在客户端代码中使用API密钥的情况,使用户可以查看API密钥。在这些情况下,这些限制会阻止API密钥被其他网站滥用。
由于您在服务器端代码中使用此API密钥,因此您不必担心这一点。如果您需要在其他客户端代码中使用YouTube API,请为其创建单独的API密钥。