Я хочу использовать Google Cloud Vision API на семейной фотографии. Я активировал API в своей учетной записи GCP, получил ключ API, но я не знаю, куда мне его вставить. Вот мой код:
<?
require 'vendor/autoload.php';
use Google\Cloud\Vision\VisionClient;
$vision = new VisionClient();
$image = $vision->image(
fopen('data/family_photo.jpg', 'r'),
['faces']
);
$annotation = $vision->annotate($image);
var_dump($annotation);
die();
?>
Я получаю следующую ошибку: «error»: {«code»: 403, «message»: «В запросе отсутствует действительный ключ API.», «Status»: «PERMISSION_DENIED»}}.
Обновление: благодаря предоставленному ответу Дэна Д. я добавил следующую строку:
putenv("GOOGLE_APPLICATION_CREDENTIALS=book.json");
Я думаю, что для использования Google Cloud PHP SDK вам необходимо использовать служебную учетную запись.
Как указано здесь (https://github.com/googleapis/google-cloud-php/blob/master/AUTHENTICATION.md), вам потребуется настройка переменной среды, которая указывает на файл JSON с учетными данными.
$ export GOOGLE_APPLICATION_CREDENTIALS=<path_to_service_account_file>
Также вы можете следовать этому руководству (https://cloud.google.com/video-intelligence/docs/common/auth) создать учетную запись службы и сгенерировать файл JSON.
Надеюсь это поможет.
Других решений пока нет …