【问题标题】:Google Translate API Access Error: (403) Access Not ConfiguredGoogle 翻译 API 访问错误:(403) 未配置访问
【发布时间】:2013-03-28 23:38:04
【问题描述】:

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

我的 API 访问已开启,我已启用所有我能找到的用于此功能的基于 Web 的设置,为 Web 应用程序设置简单 API 访问和客户端 ID,等等。

我在这里使用的是 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、密码等

这些都没有奏效。我得到的完整错误如下:

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

我失去了编写本应更直接的东西的意愿。有什么建议可以解决问题吗?

【问题讨论】:

    标签: php google-api google-translate


    【解决方案1】:

    403 错误几乎肯定与 Simple API Key 有关。例如,如果这是一个使用限制,则消息会这样说......

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

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

    刚刚使用自定义搜索 API 做了同样的事情,输入了浏览器密钥,当我用头撞到它时,它在墙上造成了一个很大的凹痕。 .您不需要任何 OAuth 设置来使基础工作正常。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2014-01-24
        • 1970-01-01
        • 2012-08-06
        • 2016-08-22
        • 1970-01-01
        • 2014-01-22
        • 1970-01-01
        • 2012-06-12
        • 1970-01-01
        相关资源
        最近更新 更多