Authentication 沃森语音文本认证

Authentication 沃森语音文本认证,authentication,browser,ibm-cloud,ibm-watson,ibm-iam,Authentication,Browser,Ibm Cloud,Ibm Watson,Ibm Iam,我正试图从我的服务器开始工作 代码很简单,但我在使用令牌时遇到了问题 在IBMcloud上,我使用访问策略创建了一个IAM服务id 所有资源组中的查看器、阅读器14语音到文本服务 从中创建了一个apikey 创建了令牌文件 curl -k -X POST --output token \ --header "Content-Type: application/x-www-form-urlencoded" \ --header "Accept: application/json"

我正试图从我的服务器开始工作

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

在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都有一个完整的。它有一个非常简单的示例,您可以传入API密钥:

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

const authenticator = new IamAuthenticator({
  apikey: '{apikey}',
});
此后,您将实例化服务,例如STT