Firebase 401 error no autorizado FCM


Estoy tratando de probar las API de mensajería en la nube de Firebase ya que toda la funcionalidad no está disponible desde la consola (en particular, la personalización de las notificaciones cuando la aplicación está en segundo plano). Pero por algunas razones, no puedo hacer que funcione, y siempre aparece el error 401. Investigué las razones de esto, y lo intenté después de regenerar la nueva clave del servidor, pero el error permanece constante. Sorprendentemente, cuando generé una nueva clave de servidor, no se refleja en Firebase console y muestra la clave del servidor como vaciar. Además, intenté agregar mi dirección IP a las direcciones IP de la lista blanca del servidor, pero aún no tuve suerte. He adjuntado una captura de pantalla de una solicitud que hice con Postman (sustituyo la clave del servidor en lugar de serverKey.

Estoy atascado en esto por unas horas y realmente apreciaría un poco de ayuda.introduzca la descripción de la imagen aquí

Author: gaurav jain, 2016-06-04

7 answers

Me di cuenta de su captura de pantalla que estaba utilizando "clave: serverKey". ¿Podría intentar usar "key = serverKey" en su lugar?

También no es necesario tener "POST fcm.googleapus.com/fcm/send"; esto no es apropiado json 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.

 27
Author: Arthur Thompson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-09 17:02:38

No se si alguien usa [Web API Key] como [YOUR_SERVER_KEY] para la prueba POSTMAN y sigue obteniendo 'Error 401'. [Web API Key] no es [YOUR_SERVER_KEY].

Deberías ir a tu consola Firebase y comprobar esto:

Para obtener la clave de servidor correcta.

Espero que ayude.

 180
Author: SeanZom,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-02 22:34:29

Me enfrenté al mismo problema.

El problema era que estaba usando la clave de servidor heredada. cuando utilicé la nueva versión de la llave del servidor el problema resuelto.

En tu consola firebase goto settings - > cloud messaging

A continuación, utilice la nueva clave de servidor. es más largo que la clave de versión antigua.

 13
Author: Karim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-01 15:12:20

Yo también estoy enfrentando el Mismo problema... Estoy usando curl en php para publicar y solo funciona si tengo archivos php almacenados en mi servidor LocalHost. Cuando trato de utilizar el acceso a los archivos a través de un alojamiento gratuito en línea, entonces dice Unautorized 401.

Así que sugeriría que si puede, use el Localhost.

 2
Author: Sugam Mankad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-10 05:56:55

Ir a https://console.firebase.google.com/u/0/project/[project-name] / settings / cloudmessaging /

Credenciales del proyecto

Puede usar la clave del servidor o la clave del servidor heredada

 2
Author: Omar Makled,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-12 11:04:58

Tengo el mismo problema en el Código del lado del servidor(C#).

Básicamente utilizó una clave de servidor incorrecta (o Clave API) para el código del lado del servicio.

Siga el siguiente enlace sobre stackoverflow publicado por mí (Útil para encontrar la Clave del servidor (o Clave API))

Notificación push de FCM (Firebase Cloud Messaging) con Asp.Net

 0
Author: Nilesh Panchal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:34:53

Me enfrentaba al mismo problema, lo resolví usando los siguientes pasos

1- En el servidor desde el que está enviando push, Use solo la clave del navegador, puede obtenerla desde Firebase console o Google api console como he resaltado en las siguientes imágenes:-

Google api console

Consola Firebase, haga clic en el proyecto settings > configuración

Nota: La clave api web de Firebase console y la clave del navegador de Google console son las mismas que puede usar cualquiera de ellos

introduzca la descripción de la imagen aquí

introduzca la descripción de la imagen aquí

2- Si sigues el primer paso solo obtendrás el error no autorizado, para resolver esto necesitas autorizar la clave de tu navegador en Google console agregando la dirección IP de tu servidor desde donde enviarás el push. Haga clic en el icono editar lápiz en el lado derecho de la tecla de su navegador en la consola de api de Google, encima de la primera imagen

introduzca la descripción de la imagen aquí

Después de agregar su dirección Ip, haga clic en guardar Asegúrese de que su token de dispositivo no esté vacío en el que está enviando el push, espero que su push se envíe con éxito ahora.

 -1
Author: Mehroz Munir,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-21 02:17:58