Firebase Cloud Messaging в Интернете - отправьте сообщение через почтальона - PullRequest
0 голосов
/ 27 апреля 2018

Я пытаюсь настроить Firebase Cloud Messaging для Интернета. Мне удалось правильно его инициализировать и получить токен:

<script src="https://www.gstatic.com/firebasejs/4.13.0/firebase.js"></script>
<script>
    // Initialize Firebase
    var config = {
    apiKey: "xxx",
    authDomain: "name.firebaseapp.com",
    databaseURL: "https://name.firebaseio.com",
    projectId: "project-name",
    storageBucket: "project-name.appspot.com",
    messagingSenderId: "1111111111111"
    };
    firebase.initializeApp(config);

    const messaging = firebase.messaging();
    messaging.requestPermission().then(function() {
    })

    messaging.getToken().then(function(currentToken) {
        console.log("token: " + currentToken);
    })
</script>

+ manifest.json с gcm_sender_id

Я вижу, что получаю токен в консоли, поэтому я пытаюсь проверить его и отправить свое первое уведомление через Почтальона - вот документация .

Почтовый адрес: https://fcm.googleapis.com/v1/projects/PROJECTID/messages:send Авторизация: без аутентификации

Заголовок

enter image description here

Body - токен из клиентской функции messaging.getToken().then(function(currentToken) {...

enter image description here

Когда я отправляю сообщение, я получаю сообщение об ошибке 401 НЕАУТЕНТИФИЦИРОВАНО со следующими данными:

    "code": 401,
    "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
    "status": "UNAUTHENTICATED"

Есть какие-нибудь предложения, как правильно авторизовать его в почтальоне и протестировать? Спасибо

1 Ответ

0 голосов
/ 28 апреля 2018

Вам нужно сгенерировать токен доступа для вашего проекта Firebase. Пример здесь

и используйте его ниже

curl -X POST -H "Authorization: Bearer {{access token value}}" -H 
"Content-Type: application/json" 
-d '{
    "message":{
     ....
    },
    "token": "{{device token}}"
    }
}' "https://fcm.googleapis.com/v1/projects/{{project-name}}/messages:send"
...