Я уже некоторое время изучал руководство по обмену сообщениями в 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) }
});