我没有通过使用Google行动库来获取针对heroku的Webhook发布请求

时间:2018-10-22 07:09:36

标签: dialogflow actions-on-google

嗨,我遇到了一个问题,如果我使用Google行动库,就不会收到针对heroku的webhook发布请求。但是当我使用dialogflow-fillfillment生病时,使用

来获取webhook发布请求
  

webhookclient({request:req,response:resp})

我必须不使用heroku。是否仅适用于Firebase? 另一个问题是,当我使用Google Mini设备进行测试时,我无法获得设备的粗略位置,但在模拟器中可以正常工作。它们是否与上述问题有关?

这是我当前的代码

const {dialogflow,Permission,List} = require('actions-on-google');
const {WebhookClient} = require('dialogflow-fulfillment');
const express = require('express');
const server = express();
server.post('/',function(req,res){
const agent = new WebhookClient({ request: req, response: res });
let intentMap = new Map();
intentMap.set('Default Welcome Intent', welcome);
agent.handleRequest(intentMap);
});
server.listen((process.env.PORT || 3000), function () {
    console.log("Server listening");
});

1 个答案:

答案 0 :(得分:1)

要将an Express server与Google的Actions配合使用,请遵循类似于以下内容的代码段:

const express = require('express')
const bodyParser = require('body-parser')

// ... app code here

const expressApp = express().use(bodyParser.json())

expressApp.post('/fulfillment', app)

expressApp.listen(3000)