IBM Watson IAM令牌适合所有服务还是特定于每种服务(例如语音到文本)?

托马斯·大卫·基霍

IBM的文档说,下面的Node后端代码使您能够Use the API key to have the SDK manage the lifecycle of the token. The SDK requests an access token, ensures that the access token is valid, and refreshes it if necessary.

const SpeechToTextV1 = require('ibm-watson/speech-to-text/v1');
const { IamAuthenticator } = require('ibm-watson/auth');

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

如何获得令牌speechToText以传递到在浏览器中运行的前端Angular应用程序?我尝试调用该方法getToken来获取令牌:

const SpeechToTextV1 = require('ibm-watson/speech-to-text/v1');
const { IamAuthenticator } = require('ibm-watson/auth');

const speechToText = new SpeechToTextV1({
    authenticator: new IamAuthenticator({
      apikey: 'my-api-key',
    }),
    url: 'my-url',
  });

speechToText.getToken(function (err, token) {
    if (!token) {
      console.log('error: ', err);
    } else {
      console.log(token);
      // do more stuff with the token
    }
});

那没用。错误消息是speechToText.getToken is not a function我应该尝试speechToText.authenticator.getToken吗?

我尝试从获取令牌,ibm-watson/sdk而不是从ibm-watson/speech-to-text/v1

const watson = require('ibm-watson/sdk');
const { IamAuthenticator } = require('ibm-watson/auth');

const authorization = new watson.AuthorizationV1({
  authenticator: new IamAuthenticator({ apikey: 'my-api-key' }),
  url: 'my-url'
});

authorization.getToken(function (err, token) {
    if (!token) {
      console.log('error: ', err);
    } else {
      console.log(token);
      // do stuff with token
    }
});

那会得到一个新的代币。但是令牌无效。运行时,WatsonSpeech.SpeechToText.recognizeMicrophone我收到一条错误消息HTTP Authentication failed; no valid credentials available

似乎每个IBM Watson服务都需要使用服务特定的URL创建的自己的令牌。我将语音转文字网址放入其中,ibm-watson/sdk因此我应该获得正确的令牌。我不明白为什么令牌不起作用。

艾伦·迪恩

看一下Node SDK中README的提供凭据部分,了解如果需要的话,可以自己管理令牌:

BearerTokenAuthenticator如果要自己管理生命周期,请使用有关详细信息,请参阅对Watson服务进行身份验证如果要切换身份验证器,则必须直接覆盖authenticator属性。

该“身份验证”主题中有一个链接,可以帮助您了解访问过程。请参阅调用IBM Cloud服务API

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用WebSockets的IBM Watson语音到文本

IBM Watson API Java SDK使用Watson令牌认证失败

将WAV录制到IBM Watson语音到文本

使用ibm-watson服务C#进行语音到文本

使用ibm watson文本到语音服务处理多个查询

如何获取IBM Watson STT服务的认证令牌?

Bluemix上是否有针对Watson IBM IoT服务的CLI?

IBM Watson语音对带有IAM API密钥的WebSocket授权文本

如何为IBM Watson的语音转文本服务Web套接字端点找到必要的访问Web令牌?

Anaconda与IBM Watson Studio

Node.js-结合IBM Watson发现和对话服务

如何通过REST API使用IBM Watson的QA服务

IBM Watson语音到文本Python,“ DetailedResponse”对象没有属性“ getResult”

如何连接到“ wss”上的特定端点[IBM Watson]

我如何对IBM Watson Assistance用户界面有信心?

语音到文本Ibm Watson C#的语音,长音频超过100 MB

IBM Watson评估-培训数据是否已上传/保存到IBM服务器?

错误429-请求过多-试图删除IBM Watson Visual Recognition服务的所有分类器

如何检测语音到文本中的句子检测是否已完成(Unity IBM Watson sdk)?

IBM Watson语音到文本发送麦克风数据关闭了连接

IBM Watson语音到文本仅使用Java SDK返回第一个单词

Twilio的IBM Watson语音到文本插件影响一个电话号码

IBM Watson中的跳转错误

IBM Watson语音转文本:无法使用Swift SDK转录文本

使用IBM Watson语音文本NPM模块难以注册回调URL

我们可以使用python(ibm_watson sdk)从“ ibm云函数”调用其他Watson服务(如助手,发现等)吗?

如何在Node.js本地开发中集成IBM Watson Assistant服务

如何在IBM Cloud上的Watson Assistant服务中删除上下文变量

什么是IBM Watson Q and A服务的正确REST API和身份验证?