Watson 语音转文本身份验证



我正在尝试从麦克风转录在我的服务器上工作作为起点。

代码很简单,但我在使用令牌时遇到了问题。

在 IBMcloud 上,我创建了一个 IAM 服务 ID 在所有资源组中使用访问策略
查看器、读取器 14 语音转文本服务。

从中创建了一个 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。

最新更新