当前位置: 首页 > 知识库问答 >
问题:

IBM watson assistant Nodejs中的未授权问题

司寇苗宣
2023-03-14

我尝试了API Nodejs v1和v2的IBM沃森助手创建一个新的转换。但它给了我总是相同的错误代码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助手的文档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)
  });

我不确定Version2的sesion-id是否正确。但是API v1不需要session_id,它也给出了相同的错误代码。

我想确认“助手设置”、“API详细信息”,我们可以找到密钥信息。“{apikey}”是“服务凭据”---

共有1个答案

郁烨
2023-03-14

apikey位于项目服务凭证/密码上(用户名为apikey)。工作区ID也在此界面上。

助手仅用于v2,会话ID在对话的第一条消息中提供给您。

 类似资料:
  • 只要我的antMatcher上有.permitall(),这就可以很好地工作,但是当我试图保护它以便只有管理员才能进行该调用时(DB中的管理员角色是ROLE_ADMIN),它会返回401未经授权的访问,并且没有消息。我试过了 .hasRole(“admin”) .hasRole(“role_admin”) .hasAuthority(“admin”) .hasAuthority(“role_adm

  • 问题内容: 我从Nexus存储库中检出了代码。我更改了帐户密码,并在文件中正确设置了密码。在执行时,我收到错误消息,说明它尝试从该存储库下载文件。 任何想法如何解决此错误?我在Maven 3.04中使用Windows 7 问题答案: 这里的问题是所使用的密码出现错字错误,由于密码中使用了字符/字母,因此很难识别。

  • 尝试使用EWS连接到exchange 2010 SP1 它连接到我的本地邮箱,而不是“测试邮箱”。我从我们的管理员那里获得了TestMailbox NT帐户的密码,并尝试了以下所有方法: 所有这些都失败了。假设我在本地网络上的NT用户名是“用户”,我甚至尝试过: 它失败了。我一直在使用以下链接作为参考。 编辑1:我已经尝试了以上所有与网络信用而不是网络信用,它仍然失败。

  • 问题内容: 我尝试了多种安装mySql的方法,然后通过全新安装访问数据库。操作系统为RHEL7。使用的软件包为mysql-5.7.7-0.3.rc.el7.x86_64.rpm- bundle.tar 然后我启动服务器 在此之后,我尝试不使用root用户密码访问服务器。我收到以下错误消息: 由于我尚未设置任何密码,因此不太确定为什么会出现此错误。在此之后,我尝试了各种选择,并且可以为我提供帮助。

  • 我试图通过Java Apachebeam MongoDbIO连接器连接到MongoDB,得到一个“未授权”错误。 同样的连接细节也适用于Python并能够检索数据。 “org.apache.beam.sdk.io.mongodbo.mongodbio$boundedmongodbsource.$closeresource(Mongodbio.java:407)位于org.apache.beam.s