2013-03-28 102 views
0

這是我第一次使用谷歌API的嘗試,所以我可能失去了一些東西可笑的簡單。谷歌翻譯API訪問錯誤:(403)訪問未配置

我的API訪問已被打開,我已經啓用所有基於網絡的設置,我可以找到這個功能,設置簡單API訪問和Web應用程序的客戶端ID等

我使用谷歌在這裏提供的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 

我失去了代碼的意願,應該更直截了當。有什麼建議可能是什麼問題?

回答

1

403錯誤幾乎肯定與簡單API密鑰相關。舉例來說,如果它是一個使用限制的消息會說,這麼....

仔細檢查,並確保你正在使用的服務器訪問列出的簡單API密鑰,並將它設置爲任何IP。特定的IP應該可以工作,但它可能取決於你的服務器是如何設置的。

你甚至可能希望只產生一個新的密鑰,以確保你有一個是有效的。從長遠來看,具體的知識產權將是最好的。

只是做與自定義搜索API的工作同樣的事情,已經進入了瀏覽器的關鍵,它在牆上引起了很大的削弱,因爲我拍着我的頭進去。 。您不應該需要任何OAuth設置才能使基本工作起作用。

0

我有同樣的問題,但與分析API。在我的情況下,我列出了服務器的IP在允許的IP地址。
所以當我從谷歌api的控制檯允許的IP地址刪除所有的IP地址,然後它開始工作。