2

Google Cloud Bucketにいくつかのテスト画像をアップロードしましたが、公表したくはありません。私はGoogleのビジョンAPIのREST呼び出しを実行しようとすると私が取得:Google Vision APIで同じプロジェクト内のGoogle Cloud Storage Bucketにアクセスする方法

{ 
    "responses": [ 
    { 
     "error": { 
     "code": 7, 
     "message": "image-annotator::User lacks permission.: Can not open file: gs://images-translate-156512/P1011234.JPG" 
     } 
    } 
    ] 
} 

は、同じプロジェクト内でGoogleクラウドストレージオブジェクトにアクセスするためにGoogleのビジョンAPIを有効にする手順を教えてください。現時点では、私はGoogle Visionを試しながらAPIキーのみを使用しています。私は、サービスアカウントが必要と思われ、GCSオブジェクトのACLを疑っています。

私はGCSを完全にバイパスでき、base64で画像をエンコードしてGoogle Vision APIを送信できますが、このユースケースを実際に試して解決したいと考えています。未使用のACL、またはサービスアカウント。

助けあり

答えて

2

APIキーは承認に使用されません。これらは、操作のために課金されるプロジェクトと、使用するプロジェクトのクォータを指定する場合に使用されますが、特定のエンティティとして認証されることはありません。

非公開のGCSオブジェクトでCloud Vision APIを使用するには、GCSオブジェクトを読み取る権限を持つユーザーまたはサービスアカウントのリクエストとともにOAuth認証情報を送信する必要があります。

承認は複雑なトピックです。私はあなたが開発している言語のためのアドホックな実験やGoogleクラウドクライアントライブラリのためのgcloudコマンドラインユーティリティを使用することをお勧めし

Googleはここに承認のためのガイドをしています。だから私は、サービスを作成https://cloud.google.com/docs/authentication

+0

バケットレベルでACLを割り当てますか?このサービスアカウントは、Google Vision APIまたはGoogle Storageだけに調整する必要がありますか? – smackenzie

+0

すべてのGoogle Cloud APIには認証が必要ですが、Google VisionにアクセスするためのAPIキーを送信するだけです。 – smackenzie

+1

サービスアカウントは厳密には必要ではありません。自分のアカウントでも電話をかけることができます。サービスアカウントを使用する場合は、GCSバケットへの読み取りアクセス許可を与える必要があります。 –

関連する問題