Я пытаюсь использовать библиотеку google / cloud-translate (v ^ 1.5) в Laravel (v ^ 6.0).
В GoogleController.php
:
public function translate(Request $request) {
$request->validate([
'source' => 'required|string|min:2|max:5',
'target' => 'required|string|min:2|max:5',
'q' => 'required|string',
]);
$translate = new TranslateClient([
'keyFile' => base_path(config('services.google.json_path')),
'projectId' => config('services.google.project_id'),
'suppressKeyFileNotice' => true,
]);
// Translate text from english to french.
$result = $translate->translate($request->q, [
'target' => explode($request->target, '-')[0],
'source' => explode($request->source, '-')[0],
]);
return $result;
}
Но вызов маршрута в Почтальоне выдает ошибку:
Argument 2 passed to Google\Auth\CredentialsLoader::makeCredentials() must be of the type array, string given, called in /[...]/vendor/google/cloud-core/src/RequestWrapperTrait.php on line 155
Я проверил, что идентификатор проекта и путьк ключевому файлу правильно. Может кто-нибудь пролить свет на то, как обойти эту ошибку?