我尝试使用 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"
可能会如你所期望的那样工作。