0

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

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

作为一种解决方法,我们将把用户话语的语音转文本发送到我们的后端服务。我们使用 firebase 云功能来实现我们的功能,并使用外部 rest api 来进行 crud 操作。

我们正在尝试在 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 客户端

4

1 回答 1

0

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

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

于 2019-02-20T19:00:44.417 回答