Я пытаюсь создать облачную функцию Firebase. Так что я бы запустил локальную облачную функцию Firebase. Но это не работает, как настроить аутентификацию.
Я установил инструменты firebase: https://firebase.google.com/docs/functions/local-emulator. Я запустил команду firebase login
, так что теперь я вошел в систему. Затем я создал свой ключ json с помощью этого учебника: https://cloud.google.com/docs/authentication/getting-started Теперь, если я echo $GOOGLE_APPLICATION_CREDENTIALS
результат будет /home/$USER/.google/****.json
которые содержат
"project_id","private_key_id","private_key","client_email", "client_id", "auth_uri", "token_uri", "auth_provider_x509_cert_url", "client_x509_cert_url"
Также я попытался установить полную gcloud auth application-default login
Google Cloud SDK и gcloud auth application-default login
: gcloud auth application-default login
но безуспешно.
Версии пакета Npm:
"firebase-functions":"3.0.2"
"firebase-admin": "8.2.0"
Я думаю, что предоставил достаточно информации, но не стесняйтесь спрашивать меня больше, если хотите.
const functions = require("firebase-functions");
const admin = require("firebase-admin");
const express = require("express");
const app = express();
app.get("/", async (req, res) => {
admin.firestore().collection('something').get().then((collection) =>
return res.send({"count": collection.docs.length, "status": 200});
});
exports.exports = functions.https.onRequest(app);
код не важен, самое главное, что даже когда я выполнил все эти шаги, когда я локально эмулирую свою базу Firebase с firebase serve
и запускаю функцию, у меня появляется эта ошибка: Ошибка: входящий объект JSON не содержит поле client_email
Я могу убедиться, что файл json содержит поле client_email.
Можете ли вы помочь мне пройти аутентификацию в Google?
Спасибо за вашу помощь.