2016-11-29 3 views
5

Ich versuche FCM mit Postman zu testen, aber ich bekomme immer den folgenden Fehler, auch wenn der FCM-Token da ist. Ich habe das Token auf der Registerkarte Cloud Messaging erhalten: Firebase Cloud Messaging-Token.FCM-Token fehlt

<HTML> 
<HEAD> 
    <TITLE>The request was missing an Authentification Key (FCM Token). Please, refer to section &quot;Authentification&quot; of the FCM documentation, at https://firebase.google.com/docs/cloud-messaging/server.</TITLE> 
</HEAD> 

Hier ist was ich sende.

POST /fcm/send HTTP/1.1 
Host: fcm.googleapis.com 
Cache-Control: no-cache 
Postman-Token: 9109eb13-245f-0786-21a5-6207f5426b44 

Content-Type:application/json 
Authorization:key=AAAAfnYrKvU:APA91bFwgeM3zuFId6UDzvIHk9qZ3lKHnX-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
{ "data": {  "message": "This is a Firebase Cloud Messaging Topic Message!", } }: 

Antwort

14

Nach ein paar Stunden habe ich festgestellt, dass in Postman Sie die folgenden in die Header setzen müssen.

Key: Content-Type 
Value: application/json 
Key: Authorization 
Value: key=AAAAfnYrKvU:APA91bFwgeM3zuFId6UDzvIHk9qZ3lKHnX-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
(Firebase Cloud Messaging token) 

Klicken Sie dann auf Körper und wählen Sie Raw, hier fügen Sie den JSON hinzu.

{ 
     "data": { 
      "title": "new messages", 
      "score": "5x1", 
      "time": "15:10" 
     }, 
     "to": "/topics/alldevices" 
    } 

Ich fand auch, dass Sie nicht auf alle Geräte durch die Beseitigung der „auf“ senden können: Sie werden Ihre App zu einem Thema abonnieren haben müssen. In meinem Fall habe ich meine App "alldevices" abonniert.

Jetzt kann ich senden "an": "/ topics/alldevices" und alle Apps erhalten die Benachrichtigung.

+0

wurde in einem Kommentar früher hinzufügen zu, aber ging in der Zeit verloren. Die Schritte, die Sie ausgeführt haben, sind identisch mit den Beispielen, die ich in dieser [Dokumentation] (http://stackoverflow.com/documentation/google-cloud-messaging/5811/getting-started-with-google-cloud-messaging/20474/send) bereitgestellt habe -downstream-Nachrichten-von-der-Wolke # t = 201611290600158576573). Gut gemacht. –

+0

Sie können auch an einzelne Geräte senden, indem Sie eine [InstanceID] (http://stackoverflow.com/questions/37671580/what-is-fcm-token-in-firebase/37671576#37671576) (Token) im "to " Feld. –

+1

Ja, die Antwort ist korrekt. Ich habe nicht bemerkt, dass in meinem Fall der "Schlüssel =" vor dem Token selbst war. – brunoramonalmeida

7

Arbeits Code für mich wie this-

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

Header-

Content-Type: application/json 
Authorization:key=AAAATIOk_eI:APA91bHR-NRuK-cVTc0fsdQ-N4SOAzocN7ngomFzcV7GkeCCHb6PmCFl_7MXTEPbdw-r0MTU9UmSbyxaSxxxxxxxxx..... 

Body-

{ 
"registration_ids": ["fBclzMXz1UQ:APA91bE268ddn8DNB95LcU2XyhjjOXE-8PJ1nZ8y0yf1-4UuUX0fFNuae9Acj5BLYZwJq72tnNUjcUax9ZvRxxxxxxxxxxxxxxxxx...."], 
"notification": { 
    "title": "Hello", 
    "body": "This is test message." 
    } 
} 
+1

'Autorisierung' ist der Kopfzeilenname und 'Schlüssel = AAAATI ...' ist der Kopfzeilenwert. – arberg

+0

Entschuldigung für Verspätung. Ja, 'Autorisierung' ist der Kopfzeilenname und 'Schlüssel = AAA ....' Kopfzeilenwert @arberg – GauravInno