【问题标题】:Google API restrictions referrer error 403Google API 限制引荐来源网址错误 403
【发布时间】: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


【解决方案1】:

禁用引荐来源限制。

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

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

【讨论】:

    猜你喜欢
    • 2017-06-18
    • 1970-01-01
    • 2017-10-31
    • 2012-08-14
    • 1970-01-01
    • 1970-01-01
    • 2016-02-26
    • 2015-12-12
    相关资源
    最近更新 更多