我正在尝试使用Node调用IBM Watson,以便从我的Workplace获取对话节点列表。我正在使用API文档中的listDialogNodes。
这是我正在使用的代码:
var watson = require('watson-developer-cloud');
var conversation = new watson.ConversationV1({
username: USERNAME,
password: PASSWORD,
version_date: '2017-05-26'
});
var params = {
workspace_id: WORKSPACE_ID,
};
conversation.listDialogNodes(params, function(err, response) {
if (err) {
console.error(err);
} else {
console.log(JSON.stringify(response, null, 2));
}
});
我一直收到错误' conversation.listDialogNodes不是函数'尽管此代码是从API页面获取的示例,但当然除了USERNAME,PASSWORD和WORKSPACE_ID。
我还有另一种方法可以向Watson发送消息,并且其中一个正常工作,因此它不应该是凭据或类似的东西。
答案 0 :(得分:2)
我刚刚为 watson-developer-cloud 采用了最新的node-sdk(3.0.4),并检查了它的节点模块。
令人惊讶的是,IBM已经开玩笑了。在node-modules中,获取对话节点列表的命令是ConversationV1.prototype.getDialogNodes
(getDialogNodes),而不是文档中提到的ConversationV1.prototype.listDialogNodes
(listDialogNodes)。
相应地更改代码后,它会顺利运行。
conversation.getDialogNodes(params, function(err, response) {
if (err) {
console.error(err);
} else {
console.log(JSON.stringify(response, null, 2));
}