猿问

谷歌云翻译:神秘错误 400 无效值

我正在使用谷歌翻译(基本版)来翻译一些字符串。几分钟前它工作正常,但现在它只返回错误 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]

有什么想法吗 ?


慕婉清6462132
浏览 289回答 2
2回答

德玛西亚99

我明白了原因。基本上,我是在强制使用错误的源语言。当我指定正确的源语言时,它再次起作用。

侃侃无极

正如人们所看到的,它恰好在这里出错了......所以选项数组有问题。它应该看起来像这样(因为没有单个示例传递source语言代码,而是$result['source']返回自动检测):function translatePhrase($text, $target) {    $translate = new TranslateClient();    $result = $translate->translate($text, [        'target' => $target    ]);    return $result['text'];}
随时随地看视频慕课网APP
我要回答