我正在尝试使用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"
谢谢:)
答案 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>'