0

Linux マシンで簡単なコマンドを実行すると、次のようになります。

curl -X POST \
--data-binary @'1.wav' \
--header 'Content-Type: audio/l16; rate=16000;' \
'https://www.google.com/speech-api/v2/recognize?output=json&lang=he-IL&key=THE_KEY'

エラーが発生しています:

Your client does not have permission to get URL /speech-api/v2/recognize?output=json&lang=he-IL&key=THE_KEY from this server. Invalid key. That’s all we know.

私が生成したキーには制限がありません (また、音声 API に対して有効になっています)。
サーバーのIPアドレスも追加しましたが、同じエラーが発生しました。

私がこれまでに見つけた結果は、クロムクライアントに関連しています...私はシェルにいます。

ありがとう

4

1 に答える 1

1
  1. 次のテキストで JSON 要求ファイルを作成し、それを sync-request.json プレーン テキスト ファイルとして保存します。

    { 'config': { 'encoding':'FLAC', 'sampleRate': 16000, 'languageCode': 'en-US' }, 'audio': { 'uri':'gs://your-gcloud-bucket/audio.wav' } }

    この JSON スニペットは、オーディオ ファイルのエンコード形式が WAV で、サンプル レートが 16000 Hz であり、オーディオ ファイルが指定された URI で Google Cloud Storage に保存されていることを示しています。オーディオ ファイルはパブリックにアクセスできるため、ファイルにアクセスするために認証資格情報は必要ありません (ただし、API を使用するには認証資格情報が必要です)。

  2. サービス アカウント キー ファイルの場所を渡して、サービス アカウントを認証します。

    $ gcloud auth activate-service-account --key-file=service-account-key-file

  3. サービス アカウントを使用して認可トークンを取得します。

    $ gcloud auth print-access-token access_token

  4. curl を使用して speech:syncrecognize リクエストを作成し、出力したアクセス トークンと手順 1 で設定した JSON リクエストのファイル名を渡します。

    $ curl -s -k -H "Content-Type: application/json" \ -H "Authorization: Bearer access_token" \ https://speech.googleapis.com/v1beta1/speech:syncrecognize \ -d @sync-request.json

于 2016-12-09T03:47:12.633 に答える