IBM Watson 语音转文本 API

IBM Watson Speech to Text API

我正在尝试使用 IBM Watson Speech to Text,但在使用 cURL 结构时遇到了问题,因为文档似乎显示 username:password 作为身份验证,但无处可寻。

我遇到了这个有类似问题的问题 How to get username & password for Watson Text to Speech Service?

当我输入 api 键而不是 username:password 时,系统会要求我输入密码。这仍然是正确的 cURL 请求还是已移至其他地方?

curl -X POST -u <api-key> \
--header "Content-Type: audio/flac" \
--data-binary @audio-file.flac \
"https://stream.watsonplatform.net/speech-to-text/api/v1/recognize"

谢谢 :)

如果您想坚持基本身份验证方案,您可以使用实际的 api 密钥作为密码,并使用 apikey 作为用户名:

curl https://stream.watsonplatform.net/speech-to-text/api/v1/models -u "apikey:<apikey>"

也就是说,出于安全原因,建议生产应用程序不要直接使用 api 密钥,而是使用令牌:

您可以使用api密钥获取令牌,有效期为一小时:

curl -X POST https://iam.ng.bluemix.net:443/oidc/token -H 'cache-control: no-cache' -H 'content-type: application/x-www-form-urlencoded' -H 'grant_type: urn:ibm:params:oauth:grant-type:apikey' -d 'grant_type=urn%3Aibm%3Aparams%3Aoauth%3Agrant-type%3Aapikey&apikey=<apikey>'

然后您可以像这样在对服务的调用中传递该令牌:

curl https://stream.watsonplatform.net/speech-to-text/api/v1/models -header "Authorization: Bearer <token_here>"