2017-02-23 5 views
0

Google Cloud Visionを使用するためにPHPライブラリを使用しています。ドキュメントには、1)APIと2)サービスアカウントの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 Language 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の使用を参照してください。

関連する問題