Это часть моего проекта, это мобильное приложение. Я хочу установить / получить некоторые данные из firebase, чтобы они отвечали диалоговым потоком.
Я попытался установить имя из диалогового потока в firebase, но это не работает. Я не могу установить / получить данные из firebase с помощью InlineEditer Dialogflow.
это индекс. js
'use strict';
const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
const {Card, Suggestion} = require('dialogflow-fulfillment');
var admin = require('firebase-admin');
admin.initializeApp({
credential: admin.credential.applicationDefault(),
databaseURL: "https://newagent-47c20.firebaseio.com"
});
const db = admin.firestore();
process.env.DEBUG = 'dialogflow:debug'; // enables lib debugging statements
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
const agent = new WebhookClient({ request, response });
console.log('Dialogflow Request headers: ' + JSON.stringify(request.headers));
console.log('Dialogflow Request body: ' + JSON.stringify(request.body));
function getNameHandler(agent) {
let name = agent.parameters.name;
db.collection("names").add({ name: name });
agent.add(`Thank you, ${name}`);
}
let intentMap = new Map();
intentMap.set('Get Name', getNameHandler);
agent.handleRequest(intentMap);
});
И это пакет. json
{
"name": "dialogflowFirebaseFulfillment",
"description": "This is your Action's webhook",
"version": "0.0.1",
"private": true,
"license": "Apache Version 2.0",
"author": "Google Inc.",
"engines": {
"node": "8"
},
"scripts": {
"lint": "eslint --fix \"**/*.js\"",
"start": "firebase serve --only functions",
"deploy": "firebase deploy --only functions",
"test": "npm run lint"
},
"dependencies": {
"actions-on-google": "^2.2.0",
"firebase-admin": "^5.13.1",
"firebase-functions": "^2.0.2",
"dialogflow": "^0.6.0",
"dialogflow-fulfillment": "^0.5.0"
},
"devDependencies": {
"eslint": "^4.19.0",
"eslint-config-google": "^0.9.1"
},
"serviceAccounts": {
"email": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.gserviceaccount.com"
}
}
Это изображение ошибки. Ошибка в базе данных
Я все равно нахожу это сделать. Но я не могу, так что это последняя надежда для меня.
Спасибо за помощь и извините за мой навык engli sh. (Помогите мне, пожалуйста)