Si el siguiente codigo no les funciona en unix (macOS o linux):
firebase functions:config:get | ac .runtimeconfig.json
usen el siguiente codigo 🔥
firebase functions:config:get > .runtimeconfig.json
Domina el flujo completo para probar y desplegar Firebase Functions con variables de entorno seguras, emulación local con shell y ajustes clave de Firestore. Aquí entenderás cómo configurar credenciales para un email helper, cómo invocar funciones con datos de prueba y cómo resolver errores frecuentes con confianza.
¿Cómo preparar variables de entorno en Firebase Functions?
Configurar variables en el servidor evita exponer credenciales en el código. Con Firebase puedes definirlas y consultarlas fácilmente desde la terminal y consumirlas en tus funciones.
¿Qué comandos usar para ver y definir config?
firebase functions:config:get
firebase functions:config:set configuration.email="gdcaly@gmail.com" configuration.password="<tu_password>"
firebase functions:config:get # guarda el resultado en runtimeconfig.json
// Dentro del código de Cloud Functions typeof functions !== 'undefined' && functions.config && functions.config().configuration; const email = functions.config().configuration.email; const password = functions.config().configuration.password;
¿Cómo emular y probar funciones de forma local con shell?
Probar en local evita desplegar cambios innecesarios. Con firebase functions:shell se emulan los entornos de tus funciones, incluido el de autenticación, y puedes pasar datos de prueba como si vinieran de Firebase.
¿Cómo traer config del servidor a local runtime?
firebase functions:shell
¿Cómo invocar funciones con datos de prueba?
creacionDeUsuario({ displayName: 'Juan Guillermo', email: 'usuario@correo.com' });
¿Cómo resolver errores comunes durante la emulación?
const admin = require('firebase-admin'); admin.initializeApp();
const admin = require('firebase-admin'); admin.firestore().settings({ timestamp: true });
¿Qué habilidades y conceptos clave refuerzas?
Este flujo consolida buenas prácticas de backend con Functions y mejora tu eficiencia al depurar.
functions.config().configuration.email y functions.config().configuration.password.firebase functions:config:get, firebase functions:config:set, firebase functions:shell para gestionar configuración y emulación.admin.initializeApp() para habilitar credenciales y acceso a librerías de Firebase.admin.firestore().settings({ timestamp: true }) para tratar fechas correctamente como timestamp.¿Probaste este flujo y te funcionó la emulación con shell y el email helper? Comparte tu experiencia y dudas en los comentarios.
Domina el flujo completo para probar y desplegar Firebase Functions con variables de entorno seguras, emulación local con shell y ajustes clave de Firestore. Aquí entenderás cómo configurar credenciales para un email helper, cómo invocar funciones con datos de prueba y cómo resolver errores frecuentes con confianza.
Configurar variables en el servidor evita exponer credenciales en el código. Con Firebase puedes definirlas y consultarlas fácilmente desde la terminal y consumirlas en tus funciones.
firebase functions:config:get
firebase functions:config:set configuration.email="gdcaly@gmail.com" configuration.password="<tu_password>"
firebase functions:config:get
# guarda el resultado en runtimeconfig.json
// Dentro del código de Cloud Functions
typeof functions !== 'undefined' && functions.config && functions.config().configuration;
const email = functions.config().configuration.email;
const password = functions.config().configuration.password;
Probar en local evita desplegar cambios innecesarios. Con firebase functions:shell se emulan los entornos de tus funciones, incluido el de autenticación, y puedes pasar datos de prueba como si vinieran de Firebase.
firebase functions:shell
creacionDeUsuario({
displayName: 'Juan Guillermo',
email: 'usuario@correo.com'
});
const admin = require('firebase-admin');
admin.initializeApp();
const admin = require('firebase-admin');
admin.firestore().settings({ timestamp: true });
Este flujo consolida buenas prácticas de backend con Functions y mejora tu eficiencia al depurar.
functions.config().configuration.email y functions.config().configuration.password.firebase functions:config:get, firebase functions:config:set, firebase functions:shell para gestionar configuración y emulación.admin.initializeApp() para habilitar credenciales y acceso a librerías de Firebase.admin.firestore().settings({ timestamp: true }) para tratar fechas correctamente como timestamp.¿Probaste este flujo y te funcionó la emulación con shell y el email helper? Comparte tu experiencia y dudas en los comentarios.
Si el siguiente codigo no les funciona en unix (macOS o linux):
firebase functions:config:get | ac .runtimeconfig.json
usen el siguiente codigo 🔥
firebase functions:config:get > .runtimeconfig.json
En mi caso fue necesario instalar 3 módulos adicionales.
Es por estas cosas que no me gustan los cursos en los cuales te dan el codigo hecho y no te explican el funcionamiento y los requerimientos mínimos. Espero no tener problemas por estar usando Node v10
Para emular las variables de entorno en sistemas UNIX
firebase functions:config:get > .runtimeconfig.json
Antes
firebase functions:shell
Ahora
firebase emulators:start
Los que tengan problema de "Email / Password" muy probablemente deben dar acceso a la cuenta de la cual están enviando el correo a aplicaciones poco seguras.
Lo podrán hacer en el siguiente enlace. Acceso de aplicaciones poco seguras
Excelente curso solo estoy atorado al ejecutar la funcion de creacionUsuario me regresa el error: Error en la creacion del usuario => Error: The incoming JSON object does not contain a client_email field :( no entiendo por que o donde esta el error ¿alguna pista?
Gracias.
creo que lo explicado en este video ya es pasado, como hago para ejecutar las funciones localmente
Hola, al querer ejecutar el comando firebase functions:shell me sale el siguiente error, al parecer functions no soporta versiones nuevas de Node. Como lo soluciono?
i functions: Preparing to emulate functions.
Warning: You're using Node.js v10.9.0 but Google Cloud Functions only supports v6.11.5.
! functions: Failed to load functions source code. Ensure that you have the latest SDK by running npm i --save firebase-functions inside the functions directory.
! functions: Error from emulator. Error parsing triggers: Cannot find module 'nodemailer'
Try running "npm install" in your functions directory before deploying.
No functions emulated.
'Successfully invoked function.' firebase > > se registra email
Error en la creación de usuario => Error: Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.
yo tuve que agregar:
var admin = require("firebase-admin");
var serviceAccount = require("path/to/serviceAccountKey.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://blogeekplatziXXXX.firebaseio.com"
});