Google Cloud Speech-to-Text API 密钥错误

Google Cloud Speech-to-Text API 密钥错误

我尝试使用 Google Cloud Speech-to-Text API,但没有成功。我遇到了 API 密钥错误。

这是我的 API 调用:

curl -s -H "Content-Type: application/json" \
    -H "Authorization: Bearer "$(myapikey) \
    https://speech.googleapis.com/v1/speech:recognize \
    -d @sync-request.json

sync-request.json内容如下:

{
  "config": {
      "encoding":"FLAC",
      "sampleRateHertz": 48000,
      "languageCode": "fr-FR",
      "enableWordTimeOffsets": true
  },
  "audio": {
      "uri":"gs://audio-bucket_bl/audio.flac"
  }
}

结果如下:

-bash: myapikey: command not found
{
  "error": {
    "code": 403,
    "message": "The request is missing a valid API key.",
    "status": "PERMISSION_DENIED"
  }
}

供您参考,我从这里获取了我的 api 密钥:https://console.cloud.google.com/apis/credentials?(API 密钥列表中的密钥 1)

你知道我做错了什么吗?这与 API 密钥有关,所以要么是密钥错误,要么是我没有以正确的方式设置它。

感谢您的帮助 :)

此致,

答案1

在你的命令中这个构造

$(myapikey)

告诉 shell 运行命令 myapikey,该命令的输出将被替换为它的位置,例如

ls $(which chmod) -l
-rwxr-xr-x. 1 root root 58592 Aug 20  2019 /bin/chmod

这解释了为什么你会看到这个错误

-bash: myapikey: command not found

因为没有命令myapikey(在您的路径中)。您不需要使用$(...),使用

"$myapikey" 

可能会如你所期望的那样工作。

相关内容