Google 语音 api 错误

Google speech api error

当我 运行 我的 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 地址,但我得到了同样的错误。

到目前为止我找到的结果与 chrome 客户端有关...我在 shell。

谢谢

  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 云存储中。音频文件可公开访问,因此您不需要身份验证凭据即可访问该文件(尽管您需要身份验证凭据才能使用 API)。

  2. 验证您的服务帐户,传递您的 service account key file:

    的位置

    $ 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