[英]Watson speech to text authentication
我正在尝试从在我的服务器上工作 的 Microphone 获取 Transcribe作为起点。
代码很简单,但我在使用令牌时遇到了问题。
在 IBMcloud 上,我使用访问策略创建了一个 IAM-Service id
Viewer、Reader 14 所有资源组中的 Speech to Text 服务
从中创建了一个 apikey
创建了令牌文件
curl -k -X POST --output token \
--header "Content-Type: application/x-www-form-urlencoded" \
--header "Accept: application/json" \
--data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" \
--data-urlencode "apikey={apikey}" \
"https://iam.cloud.ibm.com/identity/token"
响应具有“access_token”,但 javascript SDK 0.38.1 寻找“accessToken”
当我启动麦克风时,我收到一个套接字错误“wss://stream.watsonplatform.net/speech-to-text/api/v1/recognize”
我检查了令牌过期。
我确认这是一个身份验证问题:
curl -X GET "https://stream.watsonplatform.net/speech-to-text/api/v1/models?access_token="{accessToken}"
回复“未经授权”
我已经研究过,不确定下一步该做什么。 我最好的猜测是我生成的令牌不正确。
我会将令牌生成留给代码。 所有的 SDK 都有一个IAMAuthenticator 组件。 Node.js 的完整文档在这里。 它有一个非常简单的示例,您可以传入 API 密钥:
import { IamAuthenticator } from 'ibm-cloud-sdk-core';
const authenticator = new IamAuthenticator({
apikey: '{apikey}',
});
此后,您实例化该服务,例如 STT。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.