谷歌翻译API访问错误:(403)访问未配置


Google Translate API Access Error: (403) Access Not Configured

这是我第一次尝试使用Google API,所以我可能错过了一些非常简单的东西。

我的API访问已经打开,我已经启用了所有基于web的设置,我可以找到这个功能,设置简单的API访问和客户端ID为web应用程序,等等。

我使用的是Google提供的PHP库:http://code.google.com/p/google-api-php-client/

由于我的代码不工作,我默认使用他们的示例代码,因为使其工作通常可以解决我的问题。我把他们的代码复制到下面:

require_once '../../src/Google_Client.php';
require_once '../../src/contrib/Google_TranslateService.php';
$client = new Google_Client();
$client->setApplicationName('Translation tool');
// Visit https://code.google.com/apis/console?api=translate to generate your
// client id, client secret, and to register your redirect uri.
$client->setDeveloperKey('XXXXXXXXXXXXXXXX');
$service = new Google_TranslateService($client);
$langs = $service->languages->listLanguages();
print "<h1>Languages</h1><pre>" . print_r($langs, true) . "</pre>";
$translations = $service->translations->listTranslations('Hello', 'hi');
print "<h1>Translations</h1><pre>" . print_r($translations, true) . "</pre>";

:

  • 检查开发人员密钥,这是API密钥
  • 检查了允许的引用
  • 设置引用包括.DOMAIN.com/
  • 设置引用包含IP地址
  • 尝试包含OAuth2客户端id, secret等

这些都不起作用。我得到的完整错误如下:

Fatal error: Uncaught exception 'Google_ServiceException' with message 'Error calling GET https://www.googleapis.com/language/translate/v2/languages?key=XXXXXXXXXXXXXXXX: (403) Access Not Configured' in /home/google-api-php-client/src/io/Google_REST.php:66 Stack trace: #0 /home/google-api-php-client/src/io/Google_REST.php(36): Google_REST::decodeHttpResponse(Object(Google_HttpRequest)) #1 /home/google-api-php-client/src/service/Google_ServiceResource.php(186): Google_REST::execute(Object(Google_HttpRequest)) #2 /home/google-api-php-client/src/contrib/Google_TranslateService.php(39): Google_ServiceResource->__call('list', Array) #3 /home/google-api-php-client/examples/translate/simple.php(13): Google_LanguagesServiceResource->listLanguages() #4 {main} thrown in /home/google-api-php-client/src/io/Google_REST.php on line 66

我正在失去用一些应该更直接的东西编码的意愿。有什么建议吗?

这个403错误几乎肯定与简单API密钥有关。例如,如果它是一个使用限制消息会说....

仔细检查并确保您正在使用服务器访问列出的简单API密钥,并将其设置为任何IP。特定的IP应该可以工作,但这可能取决于您的服务器是如何设置的。

您甚至可能想要生成一个新密钥,以确保您拥有的密钥是有效的。从长远来看,具体的IP是最好的。

只是做了同样的事情与自定义搜索API,有浏览器键输入,它造成了一个大凹痕在墙上,因为我撞到它的头。您不需要任何OAuth设置来获得基本的工作

我有同样的问题,但与分析api。在我的情况下,我在允许的ip地址中列出了服务器的ip。
所以当我从google api的控制台删除所有ip地址时,它就开始工作了。