Сообщения Firebase не могут быть отправлены - Как получить токен носителя OAuth, используя .Net или JavaScript? - PullRequest
0 голосов
/ 14 декабря 2018

Я уже некоторое время изучал руководство по обмену сообщениями в Firebase, пытаясь получить уведомления для работы в базовом приложении .Net Core, использующем JavaScript с ServiceWorker, прежде чем пытаться реализовать его в своем основном приложении.Я не могу опубликовать сообщение, используя сообщение jQuery с ответом 401 - "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential и статусом unauthenticated.

. Токен на предъявителя является причиной, потому что я использую тот же, что и в учебнике.и это заняло у меня некоторое время, чтобы понять, потому что я не могу найти никакого объяснения того, что это за токен или что мне нужен был мой, учебник, кажется, пропускает эту часть.После исчерпывающего просмотра документов Google я обнаружил, что https://firebase.google.com/docs/cloud-messaging/auth-server?authuser=0 - это то, чем поделился человек, который прокомментировал ниже.Это именно то, что нужно, проблема в том, что это делается в Node.Для тех, кто не использует Node, не может ничего с этим сделать.К счастью, прямо над Google заявляет, что мы можем использовать наш предпочтительный язык с помощью клиентской библиотеки Google API , за исключением того, что я снова получил исчерпывающий поиск.Похоже, что те же методы, что и в примере с Node, отсутствуют в клиентской библиотеке API Google , и для каждого языка показан единственный пример того, как получить токен для использования со службой Google, такой как служба People.и получение доступа к информации пользователей.Я не понимаю, как это можно перевести на получение токена носителя OAuth для аутентификации в FCM, чтобы можно было отправлять уведомления.Я перепробовал много комбинаций и не вижу документации, показывающей, какие методы доступны, чтобы найти аналогичные методы, которые используются в примере с Node.

Мне просто нужен токен на предъявителя для ниже.Кто-нибудь знает, как получить токен на предъявителя для использования с FCM, используя .Net или JavaScript, как это может сделать документ Google?

$.post({
        method: "POST",
        url: "https://fcm.googleapis.com/v1/projects/floridarecycling-b91ec/messages:send",
        dataType: "json",
        contentType: "application/json",
        headers: {
            'Authorization': 'Bearer ' + 'ya29.ElqKBGN2Ri_Uz...HnS_uNreA'
        },
        data: {
            "message": {
                "token": "my device token",
                "notification": {
                    "body": "This is an FCM notification message!",
                    "title": "FCM Message",
                }
            }
        },
        success: function () { console.log("Success") },
        error: function (err) { console.log("error ", err) }
    });

$.post({
        method: "POST",
        url: "https://fcm.googleapis.com/v1/projects/floridarecycling-b91ec/messages:send",
        dataType: "json",
        contentType: "application/json",
        data: {
            "message": {
                "token": "my device id",
                "notification": {
                    "body": "This is an FCM notification message!",
                    "title": "FCM Message",
                }
            }
        },
        beforeSend: function (xhr) {
            xhr.setRequestHeader('Authorization', 'Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA')
        },
        success: function () { console.log("Success") },
        error: function (err) { console.log("error ", err) }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...