Firebase FCM возвращает несанкционированную ошибку с правильным ключом сервера - PullRequest
0 голосов
/ 19 февраля 2020

Я пытаюсь отправить уведомление pu sh с моего сервера, используя Firebase Cloud Messaging, но продолжаю получать следующую ошибку:

Ошибка клиента: POST https://fcm.googleapis.com/v1/projects/my-project/messages:send привел к ответу 401 Unauthorized ... Запрос имеет неверные учетные данные для аутентификации. Ожидаемый доступ OAuth 2

Я везде просматривал онлайн и везде упоминал о «использовании Ключа Сервера вместо Ключа API». Я делаю это и все еще получаю ошибку. Ничто в Интернете не помогло.

Вот мой запрос:

POST https://fcm.googleapis.com/v1/projects/my-project/messages:send

Headers:
    Authorization: Bearer <MY SERVER KEY>
    Content-Type: application/x-www-form-urlencoded (I have also tried application/json)

Body:
    {
        "message": {
            "topic": "",
            "notifications": {
                "title": "Some title",
                "body": "Some notification body"
            }
        }
    }

Pu sh уведомления напрямую из консоли Firebase работают просто отлично, я просто не могу заставить это работать на стороне сервера .

1 Ответ

1 голос
/ 19 февраля 2020

Кажется, вы используете HTTP-API v1 , но вы пытаетесь авторизовать его, используя инструкции устаревшего API . Они не совместимы. Поскольку документация гласит:

Важное замечание: Ключ сервера, найденный в консоли, не может авторизовать запросы на отправку, сделанные через API-интерфейс HTTP v1 - он используется только для устаревших запросов HTTP и XMPP. .

Если вы хотите использовать API v1, следуйте инструкциям в документации API v1 . Если вы не хотите использовать API v1, вам придется использовать устаревший API.

...