6

我在通过谷歌翻译时遇到谷歌控制台 API 的问题。当我从本地机器运行测试时,它运行良好,但是当我尝试在远程测试虚拟服务器上运行它时,它返回上面的 403。

我在控制台 API 访问中通过服务器密钥使用简单 API 访问,并且我的密钥配置为本地和测试机器 IP 地址。

调试:

lynx --dump "checkip.dyndns.org";

- IP 与我在谷歌 API 控制台中的 API 密钥设置中的 IP 匹配

curl -v "https://www.googleapis.com/language/translate/v2?q=hello&target=de&source=en&key=MYAPIKEY"

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "accessNotConfigured",
    "message": "Access Not Configured"
   }
  ],
  "code": 403,
  "message": "Access Not Configured"
 }
}

就像我说的,在我的本地机器上也是如此。在 Google API 控制台中为两个 IP 配置了 API 密钥

更新:当我使用附加到 url 引用而不是 IP 的“浏览器密钥”时,它可以工作。所以问题需要以某种方式出现在 IP 中,但我不知道在哪里。任何“whatsmyip”服务都会确认我的 IP 匹配。

4

2 回答 2

6

我遇到了同样的问题,但是使用任务 api,结果我没有在https://code.google.com/apis/console的服务选项卡下启用“任务 api” 。也许您遇到了同样的问题,但未启用“翻译 api”

于 2012-10-18T15:37:49.390 回答
3

我试图找到解决方案,但这似乎是一个 Google API 错误。我发现的唯一相关支持服务是在 Google Groups 中,那里有更多人遇到同样的问题,但我没有找到任何解决方案,也没有努力从 Google 那里检查。

所以这是解决方法 - 浏览器密钥未绑定到 IP,而是 http 引用。

如果您正在使用适用于 PHP 的 Google APIs 客户端库,请查看此内容。

请注意,这只是临时破解,而不是解决方案。浏览器密钥未绑定到 IP,因此任何人只要知道您的令牌就可以访问您的 API 访问权限。连接仍然通过https。

于 2012-08-14T15:03:03.933 回答