Как указать файл ключа доступа Google Cloud Vision API на переменную GOOGLE_APPLICATION_CREDENTIALS в среде yii2 - PullRequest
0 голосов
/ 09 февраля 2019

Я хочу использовать 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.

Спасибо

1 Ответ

0 голосов
/ 09 февраля 2019

Ошибка, с которой вы сталкиваетесь, - это Аутентификация, когда вы смотрите на библиотеку 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 может быть установлена ​​в конфигурации вашего сервера.

LINUX ИЛИ MACOS

export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

Например:

export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/[FILE_NAME].json"
...