简体   繁体   English

使用 Google Translate API 时的错误

[英]Errors when using the Google Translate API

I am just starting to learn the Google Translate API and am trying to figure out how to get it set up properly.我刚刚开始学习 Google Translate API,并试图弄清楚如何正确设置它。

First I went to https://console.developers.google.com where I set up billing, created a project, went into 'Credentials' and generated an API key.首先,我访问了https://console.developers.google.com ,在那里我设置了计费、创建了一个项目、进入了“凭据”并生成了一个 API 密钥。

I then went to Command Prompt and followed the steps to install via composer as described here.然后我转到命令提示符并按照此处所述的步骤通过 Composer 进行安装。 I had to use composer require google/cloud because composer require google/cloud-translation gave an error.我不得不使用composer require google/cloud因为composer require google/cloud-translation给出了一个错误。

This installed fine and I can now see the directory C:\\wamp64\\www\\myproject\\vendor\\google\\cloud\\Translate .这安装得很好,我现在可以看到目录C:\\wamp64\\www\\myproject\\vendor\\google\\cloud\\Translate

I then tried to create a simple script like so:然后我尝试创建一个简单的脚本,如下所示:

<?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>

But I get the following error messages:但我收到以下错误消息:

( ! ) 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

I'm new to learning this so I'm not sure if I'm doing this right or if I'm missing something.我刚开始学习这个,所以我不确定我是否做对了,或者我是否遗漏了什么。

So I knew it was something glaringly obvious....所以我知道这是显而易见的事情......

The error stated: SSL certificate problem .错误指出: SSL certificate problem

And my directory was: C:\\wamp64\\www\\myproject我的目录是: C:\\wamp64\\www\\myproject

I have an Alpha version of my site on WAMP, which doesn't have an SSL certificate, and then a Beta version and a live version, which both do have certificates.我在 WAMP 上有我网站的 Alpha 版本,它没有 SSL 证书,然后是 Beta 版本和一个实时版本,它们都有证书。

Google requires an SSL cert, so the script works in my beta subdirectory but not locally on WAMP. Google 需要 SSL 证书,因此该脚本可在我的 beta 子目录中运行,但不能在 WAMP 本地运行。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM