Я использую библиотеку PHP для использования Google Cloud Vision. В документах рассказывается о 2 способах аутентификации — 1) API и 2) Сервисная учетная запись.
Как использовать аутентификацию на основе API с моим VisionClient? Нет документов по его использованию. Пожалуйста, дайте мне знать, если я ошибаюсь.
$vision = new VisionClient([
'projectId' => 'ophoto'
]);
$image = $vision->image($photoResource,
['LABEL_DETECTION','SAFE_SEARCH_DETECTION','IMAGE_PROPERTIES']);
$vision->annotate($image);
Я получаю следующее сообщение об ошибке при запуске вышеуказанного кода.
Message: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information
File: C:\Program Files\VertrigoServ\www\classes\vendor\google\cloud\src\RequestWrapper.php
Line: 219
Trace:
#0 C:\Program Files\VertrigoServ\www\classes\vendor\google\cloud\src\RequestWrapper.php(185): Google\Cloud\RequestWrapper->convertToGoogleException(Object(DomainException))
#1 C:\Program Files\VertrigoServ\www\classes\vendor\google\cloud\src\RequestWrapper.php(167): Google\Cloud\RequestWrapper->fetchCredentials()
#2 C:\Program Files\VertrigoServ\www\classes\vendor\google\cloud\src\RequestWrapper.php(150): Google\Cloud\RequestWrapper->getToken()
#3 C:\Program Files\VertrigoServ\www\classes\vendor\google\cloud\src\RequestWrapper.php(131): Google\Cloud\RequestWrapper->signRequest(Object(GuzzleHttp\Psr7\Request))
#4 C:\Program Files\VertrigoServ\www\classes\vendor\google\cloud\src\RestTrait.php(80): Google\Cloud\RequestWrapper->send(Object(GuzzleHttp\Psr7\Request), Array)
#5 C:\Program Files\VertrigoServ\www\classes\vendor\google\cloud\src\Vision\Connection\Rest.php(57): Google\Cloud\Vision\Connection\Rest->send('images', 'annotate', Array)
#6 C:\Program Files\VertrigoServ\www\classes\vendor\google\cloud\src\Vision\VisionClient.php(265): Google\Cloud\Vision\Connection\Rest->annotate(Array)
#7 C:\Program Files\VertrigoServ\www\bol\service.php(60): Google\Cloud\Vision\VisionClient->annotateBatch(Array)
#8 C:\Program Files\VertrigoServ\www\init.php(34): PHOTOTAGS_BOL_Service->analyzeImages(Array)
#9 [internal function]: phototags_user_register(Object(OW_Event))
#10 C:\Program Files\VertrigoServ\www\oxwall\ow_core\event_manager.php(228): call_user_func('phototags_user_...', Object(OW_Event))
#11 C:\Program Files\VertrigoServ\www\oxwall\ow_plugins\photo\controllers\ajax_upload.php(263): OW_EventManager->trigger(Object(OW_Event))
#12 C:\Program Files\VertrigoServ\www\oxwall\ow_plugins\photo\controllers\ajax_upload.php(227): PHOTO_CTRL_AjaxUpload->onSubmitComplete('user', 1, Object(PHOTO_BOL_PhotoAlbum), Array)
#13 [internal function]: PHOTO_CTRL_AjaxUpload->ajaxSubmitPhotos(Array)
#14 C:\Program Files\VertrigoServ\www\oxwall\ow_core\request_handler.php(250): ReflectionMethod->invokeArgs(Object(PHOTO_CTRL_AjaxUpload), Array)
#15 C:\Program Files\VertrigoServ\www\oxwall\ow_core\request_handler.php(226): OW_RequestHandler->processControllerAction(Object(ReflectionMethod), Object(PHOTO_CTRL_AjaxUpload))
#16 C:\Program Files\VertrigoServ\www\oxwall\ow_core\application.php(346): OW_RequestHandler->dispatch()
#17 C:\Program Files\VertrigoServ\www\oxwall\index.php(76): OW_Application->handleRequest()
#18 {main}
Type: Google\Cloud\Exception\ServiceException
Если вы планируете продолжить запускать его локально, вы можете выполнить аутентификацию, запустив gcloud auth application-default login
команду, а затем используйте клиентские библиотеки Cloud Vision API для запуска вашего сервиса. Посмотреть это Использование клиентской библиотеки раздел для дополнительных деталей.
Пожалуйста найди Вот Несколько примеров использования Cloud Vision API с языком PHP!
Я надеюсь, что это может помочь вам!