Google Action Webhook实施

时间:2018-11-23 13:31:36

标签: node.js webhooks dialogflow actions-on-google

所以我才刚刚开始一个项目。我遇到了两种不同的Webhook for Google Action Agent实现。有人可以解释一下,两者有什么区别吗?

也可以扩展哪一个。

第一个使用actions-on-google库,

'use strict';
 // Imports 
// ================================================================================================= 
const { dialogflow } = require('actions-on-google');
const functions = require('firebase-functions');

// Constants 
// ================================================================================================= 
// Instantiate the Dialogflow client with debug logging enabled.
const app = dialogflow({ debug: true });

// Intents  
// =================================================================================================
app.intent('welcome.intent', (conv) => {
conv.ask('Hello from webhook');
});

exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);

第二个使用dialogflow-fulfillment

`'use strict'`;

const functions = require('firebase-functions');
const { WebhookClient } = require('dialogflow-fulfillment');

process.env.DEBUG = 'dialogflow:debug'; // enables lib debugging statements

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
    const agent = new WebhookClient({ request, response });
    console.log('Dialogflow Request headers: ' + JSON.stringify(request.headers));
    console.log('Dialogflow Request body: ' + JSON.stringify(request.body));

    function welcome(agent) {
        agent.add(`Hello from webhook agent`);
    }

    let intentMap = new Map();
    intentMap.set('welcome.intent', welcome);
    agent.handleRequest(intentMap);
});

1 个答案:

答案 0 :(得分:1)

这两个库均有效,并得到Google的支持。您使用哪一个取决于您的目标。

如果您的目标仅是 来开发行动,那么“ Google行动”库是最好的。它支持AoG平台支持的一些更高级的功能,但不支持Dialogflow支持的其他平台。

如果您想使用Dialogflow支持多个机器人平台(可能包括Google平台上的操作),那么dialogflow实现库是最好的。