IBM Watson语音转文本API

时间:2018-07-10 03:42:02

标签: curl speech-to-text ibm-watson

我正在尝试使用IBM Watson Speech to Text,但是由于文档似乎显示username:password为身份验证,因此cURL结构遇到了麻烦,但这无处可寻。

我遇到了一个与此问题类似的问题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"

谢谢:)

1 个答案:

答案 0 :(得分:1)

如果您要坚持“基本身份验证”方案,则可以使用实际的api密钥作为密码,并以{% extends 'base.html'%} {% load staticfiles %} {% block content %} <style> body{ margin:0; padding:0; } box1{ height:100vh; width:100%; background image:{%static 'images/ps1.jpg'%}; background-size:cover; } box2{ height:100vh; width:100%; background image:{%static 'images/ps2.jpg'%}; background-size:cover; } box3{ height:100vh; width:100%; background image:{%static 'images/ps3.jpg'%}; background-size:cover; } </style> <div id="box1"> </div> <div id="box2"> </div> <div id="box3"> </div> {% endblock %} 作为用户名:

apikey

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

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

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

然后,您可以像这样将令牌传递给服务调用:

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>'