每日限制超出请求中设置密钥的未注册错误



我的谷歌控制台中有 3 个服务器密钥,用于不同的服务器。

一开始,只有一个密钥似乎有效,那就是我的本地IP地址。

在暂存服务器上使用 cURL 进行调试后,我发现响应为:

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "dailyLimitExceededUnreg",
    "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.",
    "extendedHelp": "https://code.google.com/apis/console"
   }
  ],
  "code": 403,
  "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
 }
}

这对我来说没有意义,因为提供了密钥,并且密钥肯定是使用适当的 IP 地址设置的。

因此,我

开始了调试过程,对于暂存服务器,我尝试了一些cURL IP发现工具。

突然 icanhazip.com 给了我服务器的IPv6地址,将其添加到允许的IP列表后,它突然起作用了。如果你问我,一些奇怪的行为。

所以我仍然需要修复我的生产服务器,我发现这个没有IPv6地址。同一个工具为我返回 IPv4 地址,在我的控制面板中,我也没有设置 IPv6 地址。

由于谷歌没有一个很大的支持平台,我希望这里有人遇到了同样的问题。

我正在尝试使用谷歌的自定义搜索API。

显然我在服务器上以错误的方式使用 cURL。它现在就像一个魅力!

(必须在URL周围添加撇号)

如果其他一切都失败了,你可以抓取谷歌搜索页面并解析结果吗?像这样的东西(PHP):

$ch = curl_init ('');
$query = 'Pepijn';
curl_setopt ($ch, CURLOPT_URL, 'http://www.google.com/search?hl=en&tbo=d&site=&source=hp&q='.$query);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
$output = curl_exec($ch);
curl_close($ch);
echo $output;

您需要对所有返回的 html 和所有内容进行"排序",但结果基本上在 #search ol 的列表项中。

最新更新