【发布时间】:2017-12-20 14:21:42
【问题描述】:
我设置了一个 cron 作业,每 x 分钟执行一个 php 脚本,该脚本使用 youtubes data api v3 来获取视频观看次数。
每当我执行脚本时,我都会收到 403 错误,谷歌开发者控制台中也会显示相同的内容。
如果我取消我的 API 密钥引用者限制,一切正常,但出于安全原因,这显然不是一个选项。
还重新生成了一个新密钥,在谷歌开发者控制台中禁用/重新启用了 youtube data 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 创建的选项,如果这甚至是问题的话。
【问题讨论】:
-
Google API 比较模糊,google 有很多,请在您的问题中说明。你的 cron 工作在做什么?更具体地说明您的问题。我看你是新人。请花点时间阅读stackoverflow.com/help/mcve
标签: php google-api youtube-data-api