首页 > 解决方案 > ReferenceError:conv 未在 actions-on-google 中定义

问题描述

我想在我的对话流程中实现建议芯片(用于谷歌助手)..但我收到了这个错误

“ReferenceError:conv 未定义”

我不明白。我已经阅读了官方文档,但我错过了什么?我也在actions_intent_OPTION他的活动中 添加了在此处输入图像描述

以下是我的代码

const functions = require('firebase-functions');
const {actionssdk} = require('actions-on-google');
const app = actionssdk({debug: true});
var admin = require("firebase-admin");
admin.initializeApp(functions.config().firebase);
var firestore = admin.firestore();

exports.webhook = functions.https.onRequest((request, response) => {
    switch (request.body.result.action) {
           case 'countitem':

            firestore.collection('orders').get()
                .then((querySnapshot) => {

                    var orders = [];
                    querySnapshot.forEach((doc) => { orders.push(doc.data()) });
                    // now orders have something like this [ {...}, {...}, {...} ]

                    response.send({
                        speech: `you have ${orders.length} orders11, would you like to see them? (yes/no)`
                    });
                })
                .catch((err) => {
                    console.log('Error getting documents', err);

                    response.send({
                        speech: "something went wrong when reading from database"
                    })
                })
            conv.ask(new Suggestions('Suggestion Chips'));
            conv.ask(new Suggestions(['suggestion 1', 'suggestion 2']));         

            break;

        default:
            response.send({
                speech: "no action matched in webhook"
            })
    }
});

标签: webhooksactions-on-googledialogflow-es

解决方案


问题是conv没有定义。通常,如果您使用actions-on-google 库,则将conv传递给您的履行函数并包含可用于设置回复等的方法。

看起来您正在自己处理所有事情并手动生成 JSON 响应。如果是这样,您应该查阅将JSON用作 webhook 的一部分的指南和JSON 示例的存储库


推荐阅读