DialogflowからFirebaseにWebhook
簡単に制御するための覚え書き
前回の「まずはDialogflowを触ってみる」の返事をFirebaseにやらせる方法です。https://qiita.com/sanoh/items/efd99ebbdee294a7beb3
■受け渡しAPIにはV1とV2がある
最近V2をリリースしたので、V2使ってねという事だとおもいます、今回はV1とV2両方を書きます。
■V1 APIの場合
・設定で「V1 API」になっている事を確認してから「SAVE」を押します。
・Firebase設定
「Fulfilment」で他のサーバ設定ができます。
今回はFirebaseを使用するので「Inline Editor」を「ENABLED」してください
「index.js」のプログラムは以下のようにし、最後「DEPLOY」を押します(デプロイされるまでしばらくかかります)
'use strict';
const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
const agent = new WebhookClient({ request, response });
function foodApp (agent) {
var params = request.body.result.parameters;
var rFoods = params['foods'];
var rFeel = params['feel'];
agent.add('私も' + rFoods + 'は' + rFeel + 'です');
}
let actionMap = new Map();
actionMap.set('食べ物の好み!', foodApp);
agent.handleRequest(actionMap);
});
・Intentの設定
最後に「食べ物の好み!」のIntentの設定で「Fulfillment」の「Enable webhook call this intent」をOnにし「SAVE」すれば終了です。
■V2 APIの場合
・設定で「V2 API」になっている事を確認してから「SAVE」を押します。
・Firebase設定
「Fulfilment」で他のサーバ設定ができます。
今回はFirebaseを使用するので「Inline Editor」を「ENABLED」してください
「index.js」のプログラムは以下のようにし、最後「DEPLOY」を押します(デプロイされるまでしばらくかかります)
'use strict';
const functions = require('firebase-functions');
const { dialogflow } = require('actions-on-google');
const app = dialogflow();
app.intent('食べ物の好み!', (conv, params, confirmationGranted) => {
var rFoods = params['foods'];
var rFeel = params['feel'];
conv.ask('私も' + rFoods + 'は' + rFeel + 'です');
});
exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);
・Intentの設定
最後に「食べ物の好み!」のIntentの設定で「Fulfillment」の「Enable webhook call this intent」をOnにし「SAVE」すれば終了です。
■動作
V1,V2でも同じような動作になります、しかし、今後の事を考えるとV2のほうですかね!
(Botの場合、V1でないと動作が怪しいので要注意ですね)
Author And Source
この問題について(DialogflowからFirebaseにWebhook), 我々は、より多くの情報をここで見つけました https://qiita.com/sanoh/items/f383a95df5babe08e98b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .