使用Google Translate API时出错

时间:2018-06-25 15:55:35

标签: php google-translate google-translation-api

我刚刚开始学习Google Translate API,并试图弄清楚如何正确设置它。

首先,我去了https://console.developers.google.com,在那里我设置了帐单,创建了一个项目,进入了“凭据”并生成了一个API密钥。

然后我进入命令提示符,并按照此处所述通过composer进行安装。我必须使用composer require google/cloud,因为composer require google/cloud-translation给出了一个错误。

此安装很好,现在我可以看到目录C:\wamp64\www\myproject\vendor\google\cloud\Translate

然后我尝试创建一个像这样的简单脚本:

<?php

require 'vendor/autoload.php';
use Google\Cloud\Translate\TranslateClient;
$translate = new TranslateClient([
    'key' => '{my API key}'
]);

if(isset($_POST["string"])){
    $string = $_POST["string"];
    $result = $translate->translate($string, [
        'target' => 'fr'
    ]);
    echo $result['text'] . "\n";
}

?>

<html>
<head>
</head>
<body>
<form action="test_translate.php" method="POST">
<input type="text" name="string">
<input type="submit">
</form>
</body>
</html>

但是我收到以下错误消息:

( ! ) Fatal error: Uncaught exception 'Google\Cloud\Core\Exception\ServiceException' with message 'cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)' in C:\wamp64\www\Lifting365\vendor\google\cloud\Core\src\RequestWrapper.php on line 263
( ! ) Google\Cloud\Core\Exception\ServiceException: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) in C:\wamp64\www\Lifting365\vendor\google\cloud\Core\src\RequestWrapper.php on line 263
Call Stack
#   Time    Memory  Function    Location
1   0.0007  242936  {main}( )   ...\test_translate.php:0
2   0.0489  1920632 Google\Cloud\Translate\TranslateClient->translate( )    ...\test_translate.php:13
3   0.0489  1921032 Google\Cloud\Translate\TranslateClient->translateBatch( )   ...\TranslateClient.php:181
4   0.0489  1921536 Google\Cloud\Translate\Connection\Rest->listTranslations( ) ...\TranslateClient.php:246
5   0.0489  1921848 Google\Cloud\Translate\Connection\Rest->send( ) ...\Rest.php:78
6   0.1728  2338192 Google\Cloud\Core\RequestWrapper->send( )   ...\RestTrait.php:96

就像我说的那样,我是新来的人,所以我不确定自己是不是做对了,或者我是否错过了某些人显而易见的东西。

任何帮助或建议,将不胜感激。

1 个答案:

答案 0 :(得分:0)

所以我知道这是显而易见的。...

错误指出:SSL certificate problem

我的目录是:C:\wamp64\www\myproject

我在WAMP上有一个网站的Alpha版本,它没有SSL证书,然后有一个Beta版本和实时版本,它们都具有证书。

Google需要SSL证书,因此该脚本可以在我的beta子目录中工作,但不能在WAMP本地工作。