4

クラウド ビジョン API を使用しようとしていますが、リクエストを成功させることはできますが、API ドキュメントで提供されているテスト イメージを使用しても、応答が空になります。

リクエスト本文:

const imagePath = `gs://[bucket_name]/faulkner.jpg`;
const requestObject = {
  requests: [
    {
      image: {
        source: {
          gcsImageUri: imagePath
        }
      },
      features:[
        {
          type: 'LABEL_DETECTION',
          maxResults: 100
        }
      ]
    }
  ]
};

フォークナー.jpg

応答本文:

{
  "responses": [{}]
}

クラウド API コンソールを使用してリクエスト フィールドをコピーしようとしましたが、これも機能しません。

const apiKey = 'myAPIKey';
const fields = `fields=responses(labelAnnotations)&`;
const visionAPI = `https://vision.googleapis.com/v1/images:annotate?${fields}key=${apiKey}`;

どんな助けでも大歓迎です。

4

3 に答える 3

0

適切なトークンで OAuth2 を実行していますか。gCS イメージで Vision API を使用する場合、API キーだけを使用することはできません。

于 2016-02-29T16:50:34.043 に答える
0

oauth2 アクセス キーを使用してリクエストを作成してみましたか? gcloudツールがある場合は、コマンドラインでこれをテストする簡単な方法があります。

  • サービス アカウントの JSON キーを作成してダウンロードする
  • gcloudそのサービス アカウントを使用するように設定します。

    gcloud auth activate-service-account --key-file <service-account-file.json>
    
  • を使用してアクセス トークンを取得し、それを使用してリクエストをgcloud auth print-access-token実行します。curl

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "content-type: application/json" \
        --data-binary '{"requests": [{"image": {"source": {"gcs_image_uri": "gs://your-bucket/your-object.jpg"}}, "features":  [{"type": "LABEL_DETECTION", "maxResults": 100}]}]}' \
        "https://vision.googleapis.com/v1/images:annotate?alt=json"
    

ただし、本番環境で使用する場合は、oauth2 フローを明示的に使用してアクセス トークンを取得することをお勧めします。アクセス トークンは有効期間が短く、更新が必要なためです。

于 2016-03-02T01:58:32.987 に答える