Обмен сообщениями в Firebase. Не удалось определить идентификатор проекта для обмена сообщениями. - PullRequest
1 голос
/ 05 апреля 2019

Как я могу инициализировать мое приложение для обмена сообщениями? Я продолжаю получать ошибку

"Ошибка: не удалось определить идентификатор проекта для обмена сообщениями. Инициализируйте SDK с учетными данными учетной записи службы или задайте идентификатор проекта в качестве параметра приложения. В качестве альтернативы установите переменную среды GOOGLE_CLOUD_PROJECT."

когда я пытаюсь вызвать messaging

const functions = require("firebase-functions");
const admin = require("firebase-admin");

const config = {
    type: "service_account",
    project_id: "xxx",
    private_key_id: "xxx",
    private_key:
        "-----BEGIN PRIVATE KEY-----xxx-----END PRIVATE KEY-----\n",
    client_email:
        "firebase-adminsdk-8dd2o@pushmessage-bd1eb.iam.gserviceaccount.com",
    client_id: "107357357611247077666",
    auth_uri: "https://accounts.google.com/o/oauth2/auth",
    token_uri: "https://oauth2.googleapis.com/token",
    auth_provider_x509_cert_url: "https://www.googleapis.com/oauth2/v1/certs",
    client_x509_cert_url:
        "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-8dd2o%40pushmessage-bd1eb.iam.gserviceaccount.com"
};

admin.initializeApp({
    config
});

const db = admin.firestore();
const messaging = admin.messaging();

const message = {
    data: { title: "Testing", body: "Test" },
    tokens: registrationTokens
};

messaging.sendMulticast(message).then(response => {
    console.log(response.successCount + " messages were sent successfully");
});

1 Ответ

0 голосов
/ 05 апреля 2019

Эти строки не имеют смысла:

const db = admin.firestore(functions.config().firebase);
const messaging = admin.messaging(functions.config().firebase);

Я не уверен, что вы собираетесь делать, передав этот параметр в admin.firestore() и admin.messaging().

Если это выполняется в облачных функциях, возможно, вы хотели инициализировать Admin SDK следующим образом:

const admin = admin.initializeApp();

и используйте его так:

const db = admin.firestore();
const messaging = admin.messaging();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...