【发布时间】: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