Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

396
Visualizações
¿Cómo puedo crear una función de registro en firebase para el disparador auth.user().onCreate()?

Estoy tratando de iniciar sesión cada vez que se crea y elimina una cuenta.

Creé un disparador functions.auth.user().onCreate() y, según tengo entendido, devuelve un objeto de user como en los documentos: aquí y aquí .

Las funciones se implementan sin problemas, pero cuando se llama al disparador, arroja un error:

 Error: Process exited with code 16 at process.<anonymous> (/layers/google.nodejs.functions-framework/functions-framework/node_modules/@google-cloud/functions-framework/build/src/invoker.js:92:22) at process.emit (events.js:314:20) at process.EventEmitter.emit (domain.js:483:12) at process.exit (internal/process/per_thread.js:168:15) at sendCrashResponse (/layers/google.nodejs.functions-framework/functions-framework/node_modules/@google-cloud/functions-framework/build/src/logger.js:44:9) at process.<anonymous> (/layers/google.nodejs.functions-framework/functions-framework/node_modules/@google-cloud/functions-framework/build/src/invoker.js:88:44) at process.emit (events.js:314:20) at process.EventEmitter.emit (domain.js:483:12) at processPromiseRejections (internal/process/promises.js:209:33) at processTicksAndRejections (internal/process/task_queues.js:98:32)

Error que no puedo entender.

Aquí está mi código

 // functions/index.js const functions = require('firebase-functions') const admin = require('firebase-admin') const { google } = require('googleapis') const { firestore } = require("firebase-admin"); exports.logging = require('./logging'); admin.initializeApp() // And other working functions

Las funciones reales

 // functions/logging.js const functions = require('firebase-functions'); const admin = require('firebase-admin'); const { firestore } = require('firebase-admin'); const authUserTrigger = functions.auth.user() exports.userSignup = authUserTrigger.onCreate((user) => { storeUser(user) }) exports.userDelete = authUserTrigger.onDelete((user) => { storeUser(user) }) async function storeUser(user) { // functions.logger.log(user.email) -> this works // Destructured original object let updatedUser = (({ displayName, email }) => ({ displayName, email }))(user); functions.logger.log('updatedUser', updatedUser ) await admin .firestore() .collection('logs') .doc('users') .collection('signup') .set({ user: {updatedUser}, // I think this is the culprint // user, This doesn't work either createTimestamp: firestore.FieldValue.serverTimestamp() }, { merge: true }) };

Gracias de antemano

EDITAR ========== @Tanay tenía razón. Necesario cambiar el set para add .

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Como dijo @Tanay, no puede usar set() en una colección en Firebase, debe ser un documento. Si desea agregar un documento a la colección con una identificación automática, puede usar add() en la colección con los datos.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda