我们正在创建一个将吸收用户输入并在数据库(数据存储区)中创建实体的动作。
理想情况下,我们希望能够访问用户的原始输入音频,但似乎不可能。
作为一项变通办法,我们将把用户话语的语音转文本发送到我们的后端服务。我们正在使用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客户端
答案 0 :(得分:0)
您已经知道,Dialogflow控制台中的内联编辑器使用Firebase Cloud Functions。
不幸的是,Firebase Cloud Functions在其免费计划中不支持外部API调用。您可能需要切换到出色的计划或将您的成就部署到其他地方。