Google Cloud Translate:密码错误400无效值

时间:2019-12-24 20:41:46

标签: php google-cloud-platform google-translate

我正在使用Google Translate(基本版本)来翻译某些字符串。几分钟前它运行良好,但是现在它只返回错误400。代码非常简单:

function translatePhrase($text, $target, $source = 'it') {

    $sourceLanguage = $source;
    $targetLanguage = $target; 

    $translate = new TranslateClient();
    $result = $translate->translate($text, [
        'source' => $sourceLanguage,
        'target' => $targetLanguage,
    ]);

    $output = $result['text'];

    return $output;
}

它返回:

Uncaught Google\Cloud\Core\Exception\BadRequestException: {
"error": {
"code": 400,
"message": "Invalid Value",
"errors": [
{
"message": "Invalid Value",
"domain": "global",
"reason": "invalid"
}
]
}
}
in \vendor\google\cloud-core\src\RequestWrapper.php:362

Stack trace:
#0 \vendor\google\cloud-core\src\RequestWrapper.php(206): Google\Cloud\Core\RequestWrapper->convertToGoogleException(Object(GuzzleHttp\Exception\ClientException))
#1 \translate\vendor\google\cloud-core\src\RestTrait.php(95): Google\Cloud\Core\RequestWrapper->send(Object(GuzzleHttp\Psr7\Request), Array)
#2 \translate\vendor\google\cloud-translate\src\V2\Connection\Rest.php(83): Google\Cloud\Translate\V2\Connection\Rest->send('translations', 'translate', Array)
#3 \translate\vendor\google\cloud-translate\src\V2\TranslateClient.php(248): Google\Cloud\Translate\V2\Connection\Rest->listTra
in [\translate\vendor\google\cloud-core\src\RequestWrapper.php riga 362]

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

正如人们所看到的,它准确地错误了here……所以options数组有问题。它应该看起来像这样(因为没有单个示例传递source语言代码,而是返回了自动检测到的$result['source']):

function translatePhrase($text, $target) {
    $translate = new TranslateClient();
    $result = $translate->translate($text, [
        'target' => $target
    ]);
    return $result['text'];
}

答案 1 :(得分:0)

我有原因。

基本上,我是在使用错误的源语言。当我指定正确的源语言后,它又可以工作了。