[英]Can't update dialog node in watson conversation service via node-red
在ibm云中的节点红色中。 我可以使用IBM Watson节点“助理工作区管理器”来检索特定的对话框节点。 但是,我无法使用相同的“助手工作区管理器”来更新对话框节点。 我不断收到错误消息“无效的请求正文”。
这不是凭据不正确的问题,因为我对两个实例使用相同的凭据。
以下是我的功能模块中的代码,该代码将信息传递给我的“助手工作区管理器”节点,以便它可以更新我的Watson对话工作区中的对话框节点。
var uptime = msg.payload[1].d.uptime;
var message = "Server uptime is " + uptime + " seconds.";
msg.topic = "";
msg.dialog_node.output.generic[0].values[0].text = message;
msg.payload = msg.dialog_node;
return msg;
我从字面上拿回了返回给我的对话框节点,并将其与包含我要注入的信息的消息结合起来,然后修改了有效负载(在尝试更新我的对话框节点之前),以便有效负载看起来就像对话框节点已退还给我(已修改消息的文字除外)。
过去,我已经通过手动格式化与返回它的格式相似的msg.payload对象来成功地做到了这一点。我也尝试过这样做,但是当这种方法不起作用时,我尝试了这种方法。
任何意见,将不胜感激。
提前致谢。
这是因为针对watson-developer-cloud的基础Node.JS SDK已更新。 https://cloud.ibm.com/apidocs/assistant?code=node#update-dialog-node
您提供的JSON必须至少具有一个以new_
前缀作为键的字段。
因此,在此示例中,条件正在更新:
{
"type":"standard",
"title":"Entry Point For Up Down Commands",
"output":{},
"context":
{
"appl_action":"increase"
},
"next_step":
{
"behavior":"jump_to",
"selector":"condition",
"dialog_node":"node_11_1467233013716"
},
"new_conditions":"#turn_up",
"dialog_node":"Entry Point For Up Down Commands",
"previous_sibling":"node_1_1487022155950"
}
我需要使用此信息修改节点信息选项卡。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.