2017-02-23 35 views
0

我正在使用PHP庫來使用Google Cloud Vision。該文檔講述了兩種認證方式 - 1)API和2)服務帳戶。Google Cloud Vision - 無法加載默認憑據

如何使用我的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 

回答

0

請找到here幾個使用Cloud Vision API和PHP語言的示例!

我希望它能幫助你!

+0

對不起。它不是。它只說有關使用服務帳戶而不使用API​​密鑰。 – Purus

+0

這可以幫到您嗎? https://developers.google.com/identity/protocols/application-default-credentials https://cloud.google.com/vision/docs/reference/libraries#client-libraries-install-php http:///terrenceryan.com/blog/index.php/working-with-cloud-vision-api-from-php/ – Osoter

1

如果您計劃在本地繼續運行,可以通過運行gcloud auth application-default login命令進行身份驗證,然後使用Cloud Vision API客戶端庫運行您的服務。請參閱使用客戶端庫section瞭解更多詳細信息。

相關問題