IBM watson assistant Nodejs 未授权问题
problem of unauthorized in IBM watson assistant Nodejs
我尝试了 API IBM Watson 助手的 Nodejs v1 和 v2 来创建新的转换。但它总是给我相同的错误代码 401 Unauthorized: Access is denied due to invalid credentials.不知道怎么回事,先谢谢大家的回答。
{ 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)
});
我不确定版本 2 的会话 ID 是否正确。但是 API v1 不需要 session_id,它也给出相同的错误代码。
我想确认'Assistant Settings','API details',我们可以查到keys的信息。
而'{apikey}'是'Service Credentials--->passeword','{workspace_id}'是'Assistant Details ---> Assistant ID '。我确认的是对的吧?
在 V1 上,所有凭据信息都可以通过 "View API Details" 在您的技能上获得。
apikey 在项目服务 Credential/Password 上(用户名将是 apikey)。工作区ID也在这个界面。
助手仅与 v2 一起使用,会话 ID 在对话的第一条消息中提供给您。
我尝试了 API IBM Watson 助手的 Nodejs v1 和 v2 来创建新的转换。但它总是给我相同的错误代码 401 Unauthorized: Access is denied due to invalid credentials.不知道怎么回事,先谢谢大家的回答。
{ 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)
});
我不确定版本 2 的会话 ID 是否正确。但是 API v1 不需要 session_id,它也给出相同的错误代码。
我想确认'Assistant Settings','API details',我们可以查到keys的信息。 而'{apikey}'是'Service Credentials--->passeword','{workspace_id}'是'Assistant Details ---> Assistant ID '。我确认的是对的吧?
在 V1 上,所有凭据信息都可以通过 "View API Details" 在您的技能上获得。
apikey 在项目服务 Credential/Password 上(用户名将是 apikey)。工作区ID也在这个界面。
助手仅与 v2 一起使用,会话 ID 在对话的第一条消息中提供给您。