Невозможно установить / получить данные из Firebase с InlineEditer Dialogflow - PullRequest
0 голосов
/ 18 февраля 2020

Это часть моего проекта, это мобильное приложение. Я хочу установить / получить некоторые данные из 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. (Помогите мне, пожалуйста)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...