Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

282
Vistas
Función Firebase - terminado con código de estado: 204

Tengo una función de nube de base de fuego:

 const admin = require('firebase-admin'); const firebase_tools = require('firebase-tools'); const functions = require('firebase-functions'); admin.initializeApp(); exports.deleteUser = functions .runWith({ timeoutSeconds: 540, memory: '2GB' }) .https.onCall((data, context) => { const userId = context.auth.uid; var promises = []; // DELETE DATA var paths = ['users/' + userId, 'messages/' + userId, 'chat/' + userId, 'like/' + userId]; paths.forEach((path) => { promises.push( recursiveDelete(path).then( () => { return 'success'; } ).catch( (error) => { console.log('Error deleting user data: ', error); }) ); }); // DELETE FILES const bucket = admin.storage().bucket(); var image_paths = ["avatar/" + userId, "avatar2/" + userId, "avatar3/" + userId]; image_paths.forEach((path) => { promises.push( bucket.file(path).delete().then( () => { return 'success'; } ).catch( (error) => { console.log('Error deleting user data: ', error); }) ); }); // DELETE USER promises.push( admin.auth().deleteUser(userId) .then( () => { console.log('Successfully deleted user'); return true; }) .catch((error) => { console.log('Error deleting user:', error); }) ); return Promise.all(promises).then(() => { return true; }).catch(er => { console.error('...', er); }); }); function recursiveDelete(path, context) { return firebase_tools.firestore .delete(path, { project: process.env.GCLOUD_PROJECT, recursive: true, yes: true, token: functions.config().fb.token }) .then(() => { return { path: path } }).catch( (error) => { console.log('error: ', error); return error; }); } // [END recursive_delete_function]

Estoy tratando de ejecutar esta función localmente desde un archivo javascript:

 function deleteAccount(userId) { fetch( `https://us-central1-myappname.cloudfunctions.net/deleteUser/${userId}`, { method: "DELETE" } ); }

Pero estoy recibiendo un:

La ejecución de la función deleteUser tomó 1952 ms, terminó con el código de estado: 204

Aquí está la URL de mi función en la nube de firebase:

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Publicar una respuesta basada en mi comentario y los comentarios de los miembros de la comunidad anteriores para la visibilidad.

Según el comentario de stf_F, es una buena idea usar funciones invocables, ya que recuerda el estado y no es necesario pasar ningún UID para eliminar al usuario. O también puede delcare como se menciona en este documento .

 const text = data.text; // Authentication / user information is automatically added to the request. const uid = context.auth.uid; const name = context.auth.token.name || null; const picture = context.auth.token.picture || null; const email = context.auth.token.email || null;index.js

Y puede verificar cómo eliminar usando callable en el siguiente documento .

Sin embargo, si prefiere usar fetch y si desea saber cómo obtener los datos en JSON y cómo guardarlos en HTML. Puedes consultar este artículo. Puede usar el siguiente ejemplo sobre cómo estructurar su recuperación

 fetch(functionEndpoint) .then(res => res.json()) .then(function(data) { /** DO STUFF WITH YOUR DATA **/ }).catch(function(error) { console.log("Err is:" + err); });

Y a continuación, ejemplo de cómo usar obtener y obtener la información que necesita.

 document.getElementById("output").innerHTML = JSON.stringify(data, null, 2); }

No olvide especificar la salida en su página HTML

<pre id="output"> </pre>

Y puede consultar el siguiente documento sobre cómo analizar los datos JSON recibidos y extraer UID, por ejemplo.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda