Estoy tratando de probar las API de mensajería de Firebase Cloud, ya que todas las funciones no están disponibles desde la consola (en particular, la personalización de las notificaciones cuando la aplicación está en segundo plano). Pero por alguna razón, no puedo hacer que funcione y siempre aparece el error 401. Investigué los motivos de esto y lo probé después de regenerar una nueva clave de servidor, pero el error permanece constante. Sorprendentemente, cuando generé una nueva clave de servidor, no se refleja en la consola Firebase y muestra la clave del servidor como vacía. Además, intenté agregar mi dirección IP a las IP de la lista blanca del servidor, pero aún no tuve suerte. Adjunto una captura de pantalla de una solicitud que hice con Postman (sustituyo la clave del servidor en lugar de clave del servidor.
Estoy atascado en esto durante unas horas y realmente agradecería algo de ayuda.
-
Estoy tratando de usar la clave del servidor pero sigue arrojando el error
invalid token
alguien me puede decir que es lo que estoy haciendo mal– Gardezi
2 oct 2017 a las 16:14
-
Obtengo este resultado: JSON_PARSING_ERROR: carácter inesperado (P) en la posición 0.
– gaurav jain
8 de junio de 2016 a las 9:32
-
¿Podría agregar la carga útil json a su respuesta para que el texto completo del json sea visible?
– Arthur Thompson
8 de junio de 2016 a las 13:22
-
No es necesario tener “POST fcm.googleapus.com/fcm/send“Este no es json adecuado y explicaría el error que está viendo. La URL de la solicitud ya está definida en otro lugar, así que elimínela de la carga útil.
– Arthur Thompson
8 de junio de 2016 a las 13:39
-
Hola Arthur, tu comentario anterior resuelve el problema. Sería feliz si lo agrega a la respuesta para que pueda aceptarlo. Gracias.
– gaurav jain
9 de junio de 2016 a las 7:15
-
Hola @ArthurThompson, ¿esto es válido para obtener el json que pusimos en la base de datos y recuperarlo a través de una solicitud GET? Estoy tratando de hacerlo pasando un
Authorization: Bearer xxx
según la documentación del sitio web (firebase.google.com/docs/reference/rest/database/user-auth) en Uso del token de acceso, pero no hubo suerte. Todavía recibiendo un"Unauthorized request."
.–Edison Spencer
19 de junio de 2017 a las 21:14
-
PD: En FCM hay un método para permitir múltiples clientes de acceso como Goolge Chrome o Android Client, etc. Estoy tratando de averiguar si eso es lo que está dando el error de No autorizado, es posible que tengamos que incluir Chrome o cualquier navegador como usuario. cliente en nuestro proyecto FCM Console.
– Sugam Mankad
10 de junio de 2016 a las 5:59
-
Acabo de resolver el problema por mí, cambié la clave API del servidor, que se proporciona en la pestaña de mensajería en la nube, en la consola FCM. En Descripción general del proyecto, Administrar, está la pestaña Mensajería en la nube, muestra un uso de la CLAVE API DEL SERVIDOR que puede ser.
– Sugam Mankad
10 de junio de 2016 a las 6:42
-
El segundo comentario funcionó para mí; si sigues el documentos oficiales de FCM le indicarán que haga clic en ‘ -> Permisos -> Cuentas de servicio’ y luego cree una nueva cuenta de servicio para su servidor. Eso descargará un
.json
archivo que contiene una clave, sin embargo la clave interna no permite el acceso a la API. Al hacer clic en ‘Administrar -> Cloud Messaging’ se entregará la clave de API correcta. Ignora los documentos oficiales si quieres que FCM funcione.– aroth
25 de julio de 2016 a las 0:40
-
La clave API era incorrecta. Estaba usando uno creado en la consola del desarrollador. Resulta que la clave está en console.firebase.google.com > icono de engranaje > general > pestaña de mensajería en la nube.
– negro
22 de agosto de 2016 a las 14:26
-
PD: En FCM hay un método para permitir múltiples clientes de acceso como Goolge Chrome o Android Client, etc. Estoy tratando de averiguar si eso es lo que está dando el error de No autorizado, es posible que tengamos que incluir Chrome o cualquier navegador como usuario. cliente en nuestro proyecto FCM Console.
– Sugam Mankad
10 de junio de 2016 a las 5:59
-
Acabo de resolver el problema por mí, cambié la clave API del servidor, que se proporciona en la pestaña de mensajería en la nube, en la consola FCM. En Descripción general del proyecto, Administrar, está la pestaña Mensajería en la nube, muestra un uso de la CLAVE API DEL SERVIDOR que puede ser.
– Sugam Mankad
10 de junio de 2016 a las 6:42
-
El segundo comentario funcionó para mí; si sigues el documentos oficiales de FCM le indicarán que haga clic en ‘ -> Permisos -> Cuentas de servicio’ y luego cree una nueva cuenta de servicio para su servidor. Eso descargará un
.json
archivo que contiene una clave, sin embargo la clave interna no permite el acceso a la API. Al hacer clic en ‘Administrar -> Cloud Messaging’ se entregará la clave de API correcta. Ignora los documentos oficiales si quieres que FCM funcione.– aroth
25 de julio de 2016 a las 0:40
-
La clave API era incorrecta. Estaba usando uno creado en la consola del desarrollador. Resulta que la clave está en console.firebase.google.com > icono de engranaje > general > pestaña de mensajería en la nube.
– negro
22 de agosto de 2016 a las 14:26
-
por favor comente para su voto negativo
– Mehroz Munir
18 de diciembre de 2016 a las 4:30
-
La consola de Frebase no es lo mismo que la clave del navegador de la consola de Google. De hecho, como parte de la documentación de Firebase, le aconsejan que use SOLO la clave en la consola de Firebase y ninguna otra clave.
– N Zar
18 de diciembre de 2016 a las 5:49
Intente generar una nueva clave y preste atención a establecer: key-type=server (no android o ios o navegador) e ip-whitelist= déjelo vacío (esto permitirá todas las ips)
– Diego Giorgini
04/06/2016 a las 19:26
Generé una nueva clave nuevamente, el tipo es servidor. Izquierda IP-lista blanca vacía. Sigue siendo el mismo resultado :(. Solo quería saber si hay algún error en la forma en que estoy haciendo la solicitud.
– gaurav jain
04/06/2016 a las 20:10
La solicitud se ve bien. Tal vez intente usar curl y publique el resultado completo de la solicitud y respuesta. Si no puede encontrar una solución, comuníquese con el Soporte de Firebase: firebase.google.com/support/contact/bugs-features
– Diego Giorgini
04/06/2016 a las 20:56
Gracias Diego, eliminé el comentario anterior porque no envié ninguna carga de notificación en la solicitud, por lo tanto, no apareció ninguna notificación en el emulador, por lo que fue mi error. Voy a volver a intentar y publicar los resultados de nuevo aquí.
– gaurav jain
5 de junio de 2016 a las 4:26
¡Excelente! entonces el 401 fue un problema con el cartero. Con respecto al emulador, verifique si su aplicación puede obtener un token de dispositivo. Si lo hace, entonces debería poder recibir el mensaje.
– Diego Giorgini
5 de junio de 2016 a las 4:27