Firebase 401 несанкционированная ошибка FCM

Я пытаюсь протестировать API обмена сообщениями Firebase Cloud, поскольку все функции недоступны из консоли (в частности, настройка уведомлений, когда приложение находится в фоновом режиме). Но по некоторым причинам, я не могу заставить его работать, и он всегда показывает ошибку 401. Я исследовал причины этого и попробовал его после регенерации нового ключа сервера, но ошибка остается постоянной. Удивительно, но когда я создал новый ключ сервера, он не отражается в консоли Firebase и показывает ключ сервера как пустой. Кроме того, я попытался добавить свой IP-адрес в белый список IPs сервера, но все равно не повезло. Я прикрепил скриншот запроса, который я сделал с Postman (я заменяю ключ сервера вместо serverKey.

Я застрял на этом в течение нескольких часов и был бы очень признателен некоторую помощь.enter image description here

7 ответов


Я заметил с вашего скриншота, что вы используете "key: serverKey". Не могли бы вы попробовать использовать" key=serverKey " вместо этого?

Также вам не нужно иметь "сообщение fcm.googleapus.com/fcm/send"; это не настоящий json и объяснило бы ошибку, которую вы видите. URL-адрес запроса уже определен в другом месте, поэтому удалите его из полезной нагрузки.


Я не знаю, использует ли кто-то [ключ веб-API] в качестве [YOUR_SERVER_KEY] для теста POSTMAN и продолжает получать "ошибку 401". [Ключ веб-API] не является [YOUR_SERVER_KEY].

вы должны перейти к консоли Firebase и проверить это:

чтобы получить правильный ключ сервера.

надеюсь, что это поможет.


Я столкнулся с той же проблемой.

проблема в том, что я использовал старый ключ сервера. когда я использовал новую версию ключа сервера, проблема была решена.

в настройках консоли firebase goto - > облачные сообщения

затем используйте новый ключ сервера. он длиннее, чем старый ключ версии.


Я тоже сталкиваюсь с той же проблемой... Я использую curl в php для публикации, и он работает, только если у меня есть файлы php, хранящиеся на моем сервере LocalHost. Когда я пытаюсь использовать доступ к файлам через бесплатный хостинг онлайн, то он говорит Unautorized 401.

поэтому я бы предложил, если вы можете, использовать Localhost.


перейти к https://console.firebase.google.com/u/0/project/[project-name]/settings/cloudmessaging/

Project credentials

вы можете использовать ключ сервера или ключ устаревшего сервера


У меня такая же проблема на стороне сервера(C#).

вы в основном использовали неправильный ключ сервера (или ключ API) для кода стороны обслуживания.

перейдите по ссылке ниже по StackOverflow, опубликованной мной (полезно найти ключ сервера (или ключ API) )

FCM (Firebase Cloud Messaging) Push-уведомление с Asp.Net


Я столкнулся с той же проблемой, я решил ее с помощью следующих шагов

1-на сервере, с которого вы отправляете push, используйте только ключ браузера, вы можете получить его из консоли Firebase или консоли Google api, как я выделил в приведенных ниже изображениях: -

в Google API в консоли

консоль Firebase, нажмите на проект-- > настройки

Примечание: ключ веб-api консоли Firebase и google клавиша браузера консоли одинакова, вы можете использовать любой из них

enter image description here

enter image description here

2-Если вы выполните только первый шаг, вы получите несанкционированную ошибку, чтобы решить эту проблему, вам нужно авторизовать свой ключ браузера в консоли google, добавив свой IP-адрес сервера, откуда вы отправите толчок. Нажмите на значок редактировать карандаш в правой части ключа браузера в консоли Google api, над первым изображение

enter image description here

после добавления Ip-адреса нажмите Сохранить Убедитесь,что маркер вашего устройства не пуст, на котором вы отправляете толчок, я надеюсь, что ваш толчок будет отправлен успешно.