Google翻译API v2 - (403)访问未配置

时间:2012-08-08 20:34:47

标签: google-api google-translate

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

我在控制台API访问中使用Server键访问Simple API,并且我的密钥配置为本地和测试计算机IP地址。

调试:

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

- 与Google 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 referrer而不是IP的“浏览器密钥”时,它可以工作。 所以问题需要以某种方式在IP中,但我无法得到它。 任何“whatsmyip”服务都会确认我的IP匹配。

2 个答案:

答案 0 :(得分:6)

我有同样的问题,但是对于任务api,原来我没有在https://code.google.com/apis/console的服务标签下启用'task api'。也许你有同样的问题,但'翻译api'没有启用

答案 1 :(得分:3)

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

所以这是解决方法 - 浏览器密钥,它不绑定到IP,但是http referer。

Check out this如果您使用的是Google APIs Client Library for PHP

请注意,这只是暂时的黑客攻击,而不是解决方案。 浏览器密钥未绑定到IP,因​​此任何人都可以访问您的API访问权限,如果他知道您的令牌。 连接仍然是通过https。