IBM Watson Assistant Nodejs中未经授权的问题

时间:2019-07-02 08:02:14

标签: node.js watson-assistant

我尝试使用IBM Watson Assistant的API Nodejs v1和v2创建新的转换。但这总是给我相同的错误代码401未经授权:由于凭据无效,访问被拒绝。我不知道发生了什么,谢谢您的回答。

{ Unauthorized: Access is denied due to invalid credentials.
    at RequestWrapper.formatError (E:\Documents\Techniques\Desktop\front_back_end\version-watson\node_modules\ibm-watson\node_modules\ibm-cloud-sdk-core\lib\requestwrapper.js:218:21)
    at E:\Documents\Techniques\Desktop\front_back_end\version-watson\node_modules\ibm-watson\node_modules\ibm-cloud-sdk-core\lib\requestwrapper.js:206:29
    at process._tickCallback (internal/process/next_tick.js:68:7)
  name: 'Unauthorized',
  code: 401,
  message: 'Access is denied due to invalid credentials.',
  body: '{"code":401,"error":"Unauthorized"}',
  headers:
   { 'x-backside-transport': 'FAIL FAIL',
     'content-type': 'application/json',
     'x-dp-transit-id': 'gateway01-1474836587',
     'x-global-transaction-id': '7ecac92c5d14b5ae57e8386b',
     'strict-transport-security': 'max-age=31536000;',
     'x-dp-watson-tran-id': 'gateway01-1474836587',
     'content-length': '37',
     'x-edgeconnect-midmile-rtt': '82',
     'x-edgeconnect-origin-mex-latency': '110',
     date: 'Thu, 27 Jun 2019 12:25:18 GMT',
     connection: 'close' } }

IBM Assistant的文档API向我显示了如下代码:

const AssistantV1 = require('ibm-watson/assistant/v1');
const service = new AssistantV1({
  version: '2019-02-28',
  iam_apikey: '{apikey}',
  url: '{url}'
});

service.message({
  workspace_id: '{workspace_id}',
  input: {'text': 'Hello'}
  })
  .then(res => {
    console.log(JSON.stringify(res, null, 2));
  })
  .catch(err => {
    console.log(err)
  });

我不确定版本2的session-id是否正确。但是API v1不需要session_id,它也提供相同的错误代码。

我想确认“助手设置”,“ API详细信息”,我们可以找到密钥的信息。 “ {apikey}”是“服务凭证->密码”,“ {workspace_id}”是“助手详细信息--->助手ID”。我确认的是正确的,对吧?

1 个答案:

答案 0 :(得分:0)

在V1上,所有凭据信息都可以通过“技能”上的“查看API详细信息”获得。 View API Details

apikey在“服务凭据/密码”项上(用户名将为apikey)。工作空间ID也在此界面上。

助手仅与v2一起使用,在会话的第一条消息期间,会话ID会提供给您。