警告,缺少FIREBASE_CONFIG和GCLOUD_PROJECT环境变量。初始化firebase-admin将失败

时间:2019-06-26 08:12:18

标签: typescript firebase npm push-notification firebase-admin

我正在使用本教程来设置Firebase管理SDK。

https://firebase.google.com/docs/admin/setup

我从Firebase控制台下载了一个json文件(服务帐户)。 它位于路径下:

C:\ct\functions\src\cargo-tender-firebase-adminsdk-8e307-c6b82762d2.json

我设置了一个环境变量:

GOOGLE_APPLICATION_CREDENTIALS=C:\ct\functions\src\cargo-tender-firebase-adminsdk-8e307-c6b82762d2.json

当我运行脚本时,收到以下警告:

Warning, FIREBASE_CONFIG and GCLOUD_PROJECT environment variables are missing. Initializing firebase-admin will fail

为什么?以及如何解决这个问题?如何测试代码? (我想在onCreate事件中发送推送通知)

我的代码:

"use strict";
exports.__esModule = true;
var functions = require("firebase-functions");
var admin = require("firebase-admin");

admin.initializeApp({
    credential: admin.credential.applicationDefault(),
    databaseURL: 'https://cargo-tender.firebaseio.com'
});

exports.sendPushNotification = functions.database
    .ref('/user-chat')
    .onCreate(function (event) {
    var payload = {
        notification: {
            title: 'Title',
            body: 'come check it',
            badge: '0',
            sound: 'default'
        }
    };
    return admin
        .database()
        .ref('fcmToken')
        .once('value')
        .then(function (allToken) {
        if (allToken.val()) {
            var token = Object.keys(allToken.val());
            return admin
                .messaging()
                .sendToDevice(token, payload)
                .then(function (response) {
                    // 
                });
        }
    });
});

版本:

PS C:\ct\functions> tsc -v
Version 3.5.2
PS C:\ct\functions> firebase -V
7.0.2
PS C:\ct\functions> node -v
v10.16.0
PS C:\ct\functions> npm -v
6.9.0

1 个答案:

答案 0 :(得分:0)

正如我所读-我应该安装一个模拟器以尝试在本地工作。 另外,firebase控制台上还有一个功能页面。在哪里可以测试功能并查看console.log()输出。