Domanda Qual è la parte "Autorizzazione" della richiesta di post http del messaggio di Firebase Downstream di Google?


Voglio provare a inviare un messaggio utilizzando Google FCM servizio di messaggistica e come dice il documento, la richiesta http dovrebbe essere qualcosa del genere:

https://fcm.googleapis.com/fcm/send
Content-Type:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA

{ "data": {
    "score": "5x1",
    "time": "15:10"
  },
  "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."
}

Il mio problema è che non ho idea di cosa AuthorizationIl valore dovrebbe essere e quando elimino questa intestazione e faccio la richiesta, ottengo un errore 401:Unauthorized. Penso che questo deve essere una sorta di chiave API o qualcosa del genere ma non riesco a trovarlo nel mio progetto. Qualcuno può aiutarmi?

PS: per scopi di test che attualmente sto usando questo sito per inviare un messaggio al mio dispositivo


17
2018-06-07 07:35


origine


risposte:


Secondo Informazioni su Firebase Cloud Messaging Server documentazione:

Autenticazione

Per inviare un messaggio, il server app invia una richiesta POST. Per esempio:

https://fcm.googleapis.com/fcm/send

Una richiesta di messaggio è composta da due parti: l'intestazione HTTP e l'HTTP   corpo.

L'intestazione HTTP deve contenere le seguenti intestazioni:

  • Autorizzazione: chiave = YOUR_SERVER_KEY

    Assicurati che questo sia il server chiave, il cui valore è disponibile nella console del progetto Firebase in uso Impostazioni del progetto > Cloud Messaging. Le chiavi del cliente o altre chiavi vengono rifiutate da FCM.

  • Tipo di contenuto: application/json per JSON; application/x-www-form-urlencoded;charset=UTF-8 per testo normale.

    Se Content-Type è omesso, si presume che il formato sia di testo normale.

Spero che sia d'aiuto!


AGGIORNAMENTO (16/11/2016)

Forse dovresti prendere in considerazione l'utilizzo del token FCM al posto delle chiavi del server come nota all'interno dello screenshot seguente

enter image description here


AGGIORNAMENTO (12/12/2016)

Firebase ha aggiornato le chiavi del server a una nuova versione e ha raccomandato l'aggiornamento alla versione più recente. Si prega di vedere lo screenshot qui sotto:

enter image description here


24
2018-06-07 07:39



ho anche affrontato questo errore. Il problema è con la chiave del server. Non utilizzare la chiave API dal file google-services.json.

Dovresti utilizzare la chiave API del server dal tuo progetto della console Firebase, nelle chiavi del progetto della scheda di messaggistica cloud: https://console.firebase.google.com/project/firebase-probiz/settings/cloudmessaging


1
2017-07-24 19:06



Questa è la tua chiave server che puoi osservare in console.developers.google.com o nella console del progetto Firebase in Impostazioni progetto> Cloud Messaging. Nota che la chiave è stata creata automaticamente da Google Services. Dovresti aggiungere l'indirizzo IP inco G.Console per limitare l'utilizzo.

Inoltre, ricorda Content-Type: application / json, altrimenti otterrai Error = MissingRegistration.


0
2017-07-26 09:00