{--------------------- Окончательное обновление -----------------}
Мне скоро понадобится API для производства, но сейчас я просто хотел привыкнуть к нему. И я использовал его для разовой сделки, чтобы сэкономить время. (Но я использовал два полных дня ...) В любом случае я нашел gtranslate для этого. Поэтому я буду смотреть на фактический API когда-нибудь в будущем, когда он будет дальше. : D
Да, я нашел работу вокруг.
{-------------------------------- UPDATE ------------- ------------------------------}
Со времени моего первоначального поста мне удалось продвинуться немного дальше с помощью prodigitalson и Дэвида Гиллена, но я все еще в растерянности.
Я получил таинственную ошибку SLL, поэтому немного прочитал в Интернете, и мне сказали сделать сертификат. В любом случае, в результате я провел большую часть утра в аду программирования, пытаясь скомпилировать из исходного кода opensll на окнах, которые просто не работали. И поэтому я отказался от этой идеи и нашел пост, в котором предлагалось использовать curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, 0); линия, и это решило проблему, теперь ошибка, которую я получаю:
Fatal error: Uncaught exception 'apiAuthException' with message
'Couldn't fetch request token, http code: 400, response body: Invalid scope:
https://www.googleapis.com/auth/translate ' in
C:\xampp\htdocs\translate\google-api-php-client2\src\auth\apiOAuth.php:191
Stack trace:
#0
C:\xampp\htdocs\translate\google-api-php-client2\src\auth\apiOAuth.php(169):
apiOAuth->requestRequestToken('http://localhos...')
#1 C:\xampp\htdocs\translate\google-api-php-client2\src\auth\apiOAuth.php(87):
apiOAuth->obtainRequestToken('http://localhos...', '4d9609c2bc4ce')
#2 C:\xampp\htdocs\translate\google-api-php-client2\src\apiClient.php(131):
apiOAuth->authenticate(Object(apiFileCache), Object(apiCurlIO), Array)
#3 C:\xampp\htdocs\translate\lang.php(20): apiClient->authenticate()
#4 {main} thrown in C:\xampp\htdocs\translate\google-api-php-client2\src\auth\apiOAuth.php on line 191
Я сейчас использую этот код, к которому закомментированные строки не влияют на сообщение об ошибке
<?php
//session_start();
//$_session['auth_token'] = 'AIzaSyAdPfnEsdsQQ6AxSn6K78LznZXHfHZIB3M';
require_once('/google-api-php-client2/src/apiClient.php');
require_once('/google-api-php-client2/src/contrib/apiTranslateService.php');
$apiClient = new apiClient();
$translate = new apiTranslateService($apiClient);
//If a oauth token was stored in the session, use that- and otherwise go through the oauth dance
if (isset($_SESSION['auth_token'])) {
$apiClient->setAccessToken($_SESSION['auth_token']);
}
else {
//In a real application this would be stored in a database, not in the session
$_SESSION['auth_token'] = $apiClient->authenticate();
}
//$translate->listTranslations('Hello to the world of space', 'fr', 'text', 'en');
{---------------------------------- ОРИГИНАЛЬНЫЙ ПОЧТ НИЖЕ --------- -----------------------}
Я впервые пытаюсь использовать API любого рода, и это более неприятно, чем что-либо другое.
Я пытаюсь заставить API Google Translate работать на PHP. К сожалению, документация не является фиктивным доказательством, поэтому я потерян.
Я прочитал этот документ вверх и вниз и из стороны в сторону: http://code.google.com/apis/language/translate/v2/getting_started.html
Я скачал клиент PHP API, показанный здесь http://code.google.com/apis/language/translate/v2/libraries.html
И я пытаюсь использовать этот сценарий, в частности:
http://code.google.com/p/google-api-php-client/source/browse/trunk/src/contrib/apiTranslateService.php
Я не очень понимаю, как реализовать ООП *, так что это мой недостаток. В документации говорится, что мне нужно использовать мой ключ API для его использования, но я не нашел, где мне нужно поместить это в клиент php api.
Пока что я пытался это сделать:
<?php
include('../google-api-php-client/src/apiClient.php');
include('../google-api-php-client/src/contrib/apiTranslateService.php');
$a = new apiTranslateService;
$a->listTranslateions('Hello to the world of space', 'fr', 'text', 'en');
?>
И это мой результат
Catchable fatal error:
Argument 1 passed to apiTranslateService::__construct()
must be an instance of apiClient, none given, called in
C:\xampp\htdocs\translate\lang.php on line 7 and defined in
C:\xampp\htdocs\google-api-php-client\src\contrib\apiTranslateService.php on line 38
* Если вам известна хорошая ссылка на сайт, чтобы научить меня, не стесняйтесь оставить ее со мной.
Спасибо всем