Google Cloud Vision - 无法加载默认凭据

时间:2017-02-23 04:05:18

标签: php google-cloud-platform google-cloud-vision

我正在使用PHP库来使用Google Cloud Vision。文档讲述了两种认证方式 - 1)API和2)服务帐户。

如何在VisionClient中使用基于API的身份验证?没有关于使用它的文档。如果我错了,请告诉我。

    $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

2 个答案:

答案 0 :(得分:1)

如果您计划在本地继续运行,可以通过运行gcloud auth application-default login命令进行身份验证,然后使用Cloud Vision API客户端库来运行您的服务。有关其他详细信息,请参阅使用客户端库section

答案 1 :(得分:0)

请查看here几个示例,以便将Cloud Vision API与PHP语言结合使用!

我希望能帮到你!