Невозможные данные в firebase - Ошибка: FIREBASE FATAL ERROR: Невозможно проанализировать URL Firebase. Пожалуйста, используйте https: // .firebaseio.com - PullRequest
0 голосов
/ 25 февраля 2020

Я не могу сохранить данные в базе данных из API новостей. Я могу извлечь успешно, но когда я добавляю свою функцию сохранения, она возвращает эту ошибку:

Ошибка: FIREBASE FATAL ERROR: Невозможно проанализировать URL Firebase. Пожалуйста, используйте https: // .firebaseio.com

См. ниже мой код:

    exports.getArticles = functions.https.onRequest((req, res) => {
    return request(newsURL)
        .then(data => save(data))
        .then(data => response(res, data, 201))
 });

 function request(url) {
    return new Promise(function (fulfill, reject) {
        client.get(url, function (data, response) {
            fulfill(data)
        })
    })
 }

 function response(res, data, code) {
    return Promise.resolve(res.status(code)
        .type('application/json')
        .send(data))
 }

 function save(data) {
    return admin.database().ref('/feed/news')
        .set({ data: data })
        .then(() => {
            return Promise.resolve(data);
        })
 }

const admin = require('firebase-admin'); 
var serviceAccount = require('../serviceaccount.json'); 
admin.initializeApp({ credential: admin.credential.cert(serviceAccount), databaseURL: 'console.firebase.google.com/project/yara-96b67/overview' }); 
const db = admin.firestore(); 
module.exports = { admin, db };

1 Ответ

3 голосов
/ 25 февраля 2020

Внутри initializeApp необходимо использовать следующее:

// Initialize default app
// Retrieve your own options values by adding a web app on
// https://console.firebase.google.com
firebase.initializeApp({
  apiKey: "AIza....",                             // Auth / General Use
  authDomain: "YOUR_APP.firebaseapp.com",         // Auth with popup/redirect
  databaseURL: "https://YOUR_APP.firebaseio.com", // Realtime Database
  storageBucket: "YOUR_APP.appspot.com",          // Storage
  messagingSenderId: "123456789"                  // Cloud Messaging
});

Выше приведен пример из документации , но свойство databaseUrl должно принимать URL базы данных в реальном времени, которая содержит ..firebaseio.com в конце.

Вы можете найти URL, войдя в консоль firebase и перейдя в раздел базы данных.

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