node.js Не удается прочитать свойство 'user_id' - PullRequest
0 голосов
/ 29 октября 2018

Я новичок в Android и работаю с Уведомлениями, но я перепробовал все ссылки, связанные с моей, и все равно получил ту же ошибку. Любая помощь будет оценена. Заранее спасибо

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

exports.sendNotification = 
functions.database.ref('/notifications/{user_id}/{notification_id}')
.onWrite((change, event) => {

    const user_id = event.params.user_id;
    const notification = event.params.notification;

    console.log('We have a notification to send to: ', user_id);

    if(!event.data.val())
    {
        return console.log('A Notification has been deleted from database: ', notification_id);
    }

    const deviceToken = admin.database().ref(`/Users/${user_id}/device_token`).once('value');

    return deviceToken.then(result => {

        const token_id = result.val();

            const payload = {
              notification: {
                title: "Message Request",
                body: "You've received a Message Request",
                icon: "logo.png"
            }
        };

        return admin.messaging().sendtoDevice(token_id, payload).then(response =>{

            console.log('This was the Notification Feature');
            return true;
        });
    });
});

и я получил эту постоянную ошибку.

TypeError: Cannot read property 'user_id' of undefined
at exports.sendNotification.functions.database.ref.onWrite.event (/user_code/index.js:9:31)at cloudFunctionNewSignature (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:105:23)
at cloudFunction (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:135:20)
at /var/tmp/worker/worker.js:744:24
at process._tickDomainCallback (internal/process/next_tick.js:135:7)

1 Ответ

0 голосов
/ 01 ноября 2018

Вы, вероятно, используете версию Firebase SDK для облачных функций под версией 1.0.

Для SDK версии <1.0, <code>event.params.user_id выдаст ошибку. На самом деле, версия 1.0.0 Firebase SDK для облачных функций вносит некоторые важные изменения в API, см. https://firebase.google.com/docs/functions/beta-v1-diff#realtime-database

Вы должны проверить в своем файле package.json, какую версию firebase-functions вы используете.

...