Watson AssistantとWatson DiscoveryをNode-RED上でつなげよう
Watson AssistantとWatson Discoveryをつなげた記事があまりないので。
Watson Assistantから出てくるメッセージについて
Watson Assistantから出てくるmsg.payloadの中には、以下の項目が含まれています。
大きくは、
msg.payload.outputとmsg.payload.contextに分かれます。
Watson Assistantからのメッセージ本文は、
msg.payload.output.generic[i].text
```に入っています。
ここでは、```i=0```から```msg.payload.output.generic.length-1```です。
写真では、
```msg.payload.output.generic[0].text
msg.payload.output.generic[1].text
```にWatson Assistantからのメッセージ本文が入っています。
## Watson Assistantから出てくるメッセージを修正する
メッセージを修正するfunctionノードを作成します。
まず、```msg.payload.output.generic[i].text```を
```i=0```から```msg.payload.output.generic.length-1```まで結合させます。
var len=msg.payload.output.generic.length-1;
var i=o;
while(i<=len){
temp += msg.payload.output.generic[i].text
i=i+1;
}
そして、結合したメッセージ本文をmsg.payloadに代入するという形でmsg.payloadを修正します。
msg.payload=temp
## Watson Discoveryにmsg.payloadの内容を渡す
msg.discoveryparams.query=msg.payload
という内容のfunctionノードを作成します。
## 参考文献
こちらの記事は会社でお世話になっている[@shuari4](https://twitter.com/shuari4)さん
に教えていただいた内容になります。いつもありがとうございます。
