Watson语音到文本身份验证

问题描述 投票:0回答:1

我正在尝试让Transcribe from Microphone在服务器上正常工作。

代码简单明了,但我在使用令牌时遇到了麻烦。

在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}"

回复“未经授权”

我已经研究,不确定下一步该怎么做。我最好的猜测是我生成的令牌不正确。

authentication browser ibm-cloud ibm-watson ibm-iam
1个回答
0
投票

我将令牌生成留给代码。所有SDK都有一个IAMAuthenticator component。完整的documentation for Node.js is here。它有一个非常简单的示例,您可以在其中传递API密钥:

import { IamAuthenticator } from 'ibm-cloud-sdk-core';

const authenticator = new IamAuthenticator({
  apikey: '{apikey}',
});

此后,您实例化服务,例如STT。

© www.soinside.com 2019 - 2024. All rights reserved.