Я хочу использовать Google Cloud Vision API для распознавания изображений, все отлично установлено в моей среде yii2.
Я получаю ошибку аутентификации как:
> Google\Cloud\Core\Exception\ServiceException
> {
> "error": {
> "code": 403,
> "message": "The request is missing a valid API key.",
> "status": "PERMISSION_DENIED"> }
> }
> 1. in C:\xampp\htdocs\vofms\vendor\google\cloud-core\src\RequestWrapper.php
> at line 336
> 32732832933033133233333433533633733
Как указать мой файл key.json на переменную среды GOOGLE_APPLICATION_CREDENTIALS В среде yii2.
Спасибо
Точка, которую вы терпите неудачу, — это Аутентификация, когда вы смотрите на библиотеку Cloud Vision, тогда как Cloud Vision является частью Google Cloud PHP в котором у вас есть Руководство по аутентификации учитывая, что рекомендует следующее.
Получив файл учетных данных, он может быть использован для создания аутентифицированного клиента.
use Google\Cloud\Core\ServiceBuilder;
// Authenticate using a keyfile path
$cloud = new ServiceBuilder([
'keyFilePath' => 'path/to/keyfile.json'
]);
// Authenticate using keyfile data
$cloud = new ServiceBuilder([
'keyFile' => json_decode(file_get_contents('/path/to/keyfile.json'), true)
]);
Если вы не хотите встраивать свою аутентификационную информацию в код приложения, вы также можете использовать Учетные данные приложения по умолчанию.
use Google\Cloud\Core\ServiceBuilder;
putenv('GOOGLE_APPLICATION_CREDENTIALS=/path/to/keyfile.json');
$cloud = new ServiceBuilder();
GOOGLE_APPLICATION_CREDENTIALS
переменная окружения может быть установлена в конфигурации вашего сервера.
export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
Например:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/[FILE_NAME].json"
Других решений пока нет …