我在使用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匹配。
答案 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。