Подтвердить что ты не робот

Неавторизованная ошибка Firebase 401 FCM

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

Я застрял на этом в течение нескольких часов и буду очень благодарен за помощь. введите описание изображения здесь

4b9b3361

Ответ 1

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

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

Ответ 2

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

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

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

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

Ответ 3

У меня была та же проблема.

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

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

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

Ответ 5

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

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

Ответ 6

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

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

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

FCM (Firebase Cloud Messaging) Push Notification с Asp.Net

Ответ 7

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

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

Google api console

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

Примечание. Ключ панели консоли Firebase и ключ браузера Google консоли - это то же самое, что вы можете использовать любой из них

введите описание изображения здесь

введите описание изображения здесь

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

введите описание изображения здесь

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