Curl 接收错误“;“未经授权”;通过以下IBM教程中的示例代码访问IBM语音到文本服务时

Curl 接收错误“;“未经授权”;通过以下IBM教程中的示例代码访问IBM语音到文本服务时,curl,ibm-cloud,ibm-watson,speech-to-text,Curl,Ibm Cloud,Ibm Watson,Speech To Text,我将按照中的示例代码转录从同一教程下载的“flac”音频文件。但是,在Windows cmd中运行curl命令时,我收到此错误{“code”:401,“error”:“Unauthorized”} 我正在将apikey和url从IBM语音复制到文本服务接口。因此,使用达拉斯服务器url包括stream.watsonplatform.net。音频文件位于执行curl的同一目录中,因此在以下代码段中只写入文件名,而不包含@和文件路径 curl -X POST -u "apikey:{Actual A

我将按照中的示例代码转录从同一教程下载的“flac”音频文件。但是,在Windows cmd中运行curl命令时,我收到此错误
{“code”:401,“error”:“Unauthorized”}

我正在将apikey和url从IBM语音复制到文本服务接口。因此,使用达拉斯服务器url包括stream.watsonplatform.net。音频文件位于执行curl的同一目录中,因此在以下代码段中只写入文件名,而不包含@和文件路径

curl -X POST -u "apikey:{Actual Api key}"\
--header "Content-Type: audio/flac"\
--data-binary audio-file.flac\
"https://stream.watsonplatform.net/speech-to-text/api/v1/recognize"

我做错了什么?

您的语法是正确的。凭据可能不正确,请检查apikey是否正确,以及它是否对应于达拉斯地区的
语音到文本
服务

谢谢你的评论,丹尼尔。我已经仔细检查了凭据,并确信apikey与speech-to-text服务相对应。我正在使用IBMLite免费计划尝试此示例代码。你认为我上面提到的错误和使用Lite plan有什么联系吗?此外,如果音频文件放在curl的bin文件夹中,不在文件名前面加@行吗?无论您是在lite还是标准计划中,语法都是相同的。如果我在没有
@
前缀的情况下执行
POST
,则会得到一个400错误。401错误完全不同,它与凭据有关。假设您在lite计划中,是否可能已经达到了限制?我如何从IBM控制台检查限制的状态?我刚刚检查了仪表板-语音到文本服务最终进行了两项更改:从示例代码中删除了后挡板,以及,更改了音频文件的位置,并提供了带@prefix的--data二进制参数的文件路径。这是有效的代码curl-X POST-u“apikey:Actual Key”--header“内容类型:audio/flac”--data binary@u:\home\Watson\audio-file.flac”