在Google App的Actions.intent

时间:2019-02-20 18:39:18

标签: dialogflow webhooks actions-on-google dialogflow-fulfillment

我们正在创建一个将吸收用户输入并在数据库(数据存储区)中创建实体的动作。

理想情况下,我们希望能够访问用户的原始输入音频,但似乎不可能。

作为一项变通办法,我们将把用户话语的语音转文本发送到我们的后端服务。我们正在使用Firebase云功能来实现我们的功能,并使用外部rest api来进行原始操作。

我们正在尝试在Webhook中发出发布请求,以根据用户的输入创建实体,但是当我检查日志时,似乎发布请求似乎没有到达我们的服务。我无法调试什么,或者我们是否能得到回复

app.intent('favorite color', (conv, {color}) => {

    const options = {
        // options
    };

    function callback(error, response, body) {
        // log response or error
    }

    request(options, callback);

    const luckyNumber = color.length;
    // Respond with the user's lucky number and end the conversation.
    conv.close('This word has ' + luckyNumber + ' letters.');
});

// Set the DialogflowApp object to handle the HTTPS POST request.
exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);

此问题与被标记为重复的问题不同,因为解决方案是帐户类型不支持对外部API的POST请求,而不是我们使用的HTTP客户端

1 个答案:

答案 0 :(得分:0)

您已经知道,Dialogflow控制台中的内联编辑器使用Firebase Cloud Functions。

不幸的是,Firebase Cloud Functions在其免费计划中不支持外部API调用。您可能需要切换到出色的计划或将您的成就部署到其他地方。