Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Google Shortener API:白名单IP不工作_Php_Api_Google Url Shortener - Fatal编程技术网

Php Google Shortener API:白名单IP不工作

Php Google Shortener API:白名单IP不工作,php,api,google-url-shortener,Php,Api,Google Url Shortener,我在开发者控制台上有一个Google Shortener API凭据设置。我为一个密钥创建了一个公共API访问,允许的IP为199.180.250.40 但是当我调用API时,我得到了这个Google错误: 您的API密钥上配置了每IP或每引用限制,请求与这些限制不匹配。如果允许来自此IP或referer的请求,请使用Google开发者控制台更新API密钥配置 我确保我的服务器是199.180.250.40,并且脚本正在该服务器上运行。我已经检查了三次,包括使用lynx访问whatismyip

我在开发者控制台上有一个Google Shortener API凭据设置。我为一个密钥创建了一个公共API访问,允许的IP为199.180.250.40

但是当我调用API时,我得到了这个Google错误:

您的API密钥上配置了每IP或每引用限制,请求与这些限制不匹配。如果允许来自此IP或referer的请求,请使用Google开发者控制台更新API密钥配置

我确保我的服务器是199.180.250.40,并且脚本正在该服务器上运行。我已经检查了三次,包括使用lynx访问whatismyip

我正在使用以下代码:

使用此代码:

        $googl = new Googl("my-key");
        $short = $googl->shorten($url);
        unset($googl);
为什么它拒绝即使这是我的服务器确切的IP

我不发送userIp,但谷歌说:

如果缺少userIp参数,则将使用计算机的IP地址


谷歌方面是否有我可以查看的访问日志?

如评论中所述,服务器使用的是IPv6,因此与我输入的IPv4不匹配。我进入了IPv6,它成功了


还有一个每秒请求数限制设置为5个左右。这有点低,所以我把它调高到30。

你能再检查一下外界能看到你的IP地址吗。去whatsmyip.com看看它说了什么。除此之外,请确保您没有使用任何代理或VPN,因为它使用lynx到该网站来验证服务器IP地址。这是正确的。服务器上没有代理。IPv4 vs IPv6通常会导致此类问题…如果您的服务器通过IPv6连接到Google,则您指定的IPv4地址显然不匹配…如果您与whatsmyip和lynx的检查仅使用IPv4连接,则他们会“证明”错了。在谷歌开发控制台上有没有详细的请求日志?也许这会暴露出一种不一致性。@Jordan我希望如此!不过,我还没有找到任何访问日志。