2016-08-08 5 views
13

Ich versuche Postman zu verwenden, um eine einzelne Push-Benachrichtigung mit Firebase Cloud Messaging-Dienst zu senden.Senden Push über Postbote mit Firebase Messaging

Dies ist ein funktionierender cURL Befehl für den gleichen Zweck, auf dem ich als Referenz verwende.

curl -X POST --header "Authorization: key=<API_ACCESS_KEY>" --Header "Content-Type: application/json" https://fcm.googleapis.com/fcm/send -d "{\"to\":\"<YOUR_DEVICE_ID_TOKEN>\",\"notification\":{\"body\":\"Firebase\"} \"priority":\"10"}" 

Was ich bisher getan haben ..

1 - Stellen Sie die Headers passend

enter image description here

2- Bei Körper, ich bin mit raw

{ 
    "to" : "<YOUR_DEVICE_ID_TOKEN>" 
    , 

    "notification": { 
    "body": "Firebase Cloud Message" 
    } 

    } 

Beim Ausführen bekomme ich 401 - Unauthorized zurück.

Was fehlt, um die Push-Benachrichtigung korrekt zu senden?

+0

{ "multicast_id": 4790719999662534961, "Erfolg": 0, "Fehler": 1, "canonical_ids": 0, "Ergebnisse": [ { "Fehler": "InvalidRegistration" } ] } bekam diesen Fehler –

Antwort

21

Der richtige Weg Authorization Schlüssel zum Einrichten auf Kopf

key=<API_ACCESS_KEY>

und nicht nur

<API_ACCESS_KEY>

Dumme Fehler, aber da dies für jemanden nützlich sein könnte Firebase für die Prüfung Messaging mit Postman Ich lasse die Frage offen.

6

Schauen Sie sich unten Screenshot wie Autorisierungsschlüssel

Berechtigung gesetzt: ** key = ** abcdefghijklmnopr2qrst253uv124wxyz_9shg

enter image description here

14

Posting FCM durch POSTMAN

Körper - zu ist Token-ID (sollte durch Instanz Token generiert werden) schreiben Körper in roher Binäranwendung/JSON body tye

{ 
    "to": "cpa8cZPjq-w:APA91bF122f1Rnhu9v47bL 
    YMajaNTHAIU5SzItDwTy9o2MCIveG0PlK78VPvp3d 
    CqjwnUKZ4 
    ngi1trSyM3_aXttW62iknFfbPGtjRLhZr6wq-3qFdboz8gzdOGPz**********", 

    "notification": { 

    "body": "Hello", 
    "title": "This is test message." 
    } 
    } 

Header: Serverschlüssel

Inhaltstyp: application/json headerimage nach der Einlieferung hier die Erfolgsmeldung: sollte die Berechtigung hat success message image

+0

arbeitete wie ein Charme !!! –

+0

Wie komme ich zum Token? Gibt es eine API? – Asymptote

+0

Lesen Firebase Android Entwickler Dokumentation –

1

Für den neuen FCM HTTP-API v1, die Methode zum Testen von Push-Benachrichtigungen durch Postman hat sich geändert und die vorhandenen Lösungen nur die alte Methode zum Testen von Push-Benachrichtigungen adressiert: https://firebase.google.com/docs/cloud-messaging/send-message

Um auf Postman mit FCM HTTP v1 API zu testen, müssen Sie zuerst ein kurzlebiges Oauth 2-Token abrufen.Sie können hier auf der Firebase Website eine gemäß der Informationen erzeugen: https://firebase.google.com/docs/cloud-messaging/auth-server

I erzeugt Mine mit Python den Code unten verwenden - denken Sie daran, das Paket pip installieren, so dass Sie das Paket in Ihren Code erfolgreich importieren können:

from oauth2client.service_account import ServiceAccountCredentials 

def _get_access_token(): 
    """Retrieve a valid access token that can be used to authorize requests. 

    :return: Access token. 
    """ 
    credentials = ServiceAccountCredentials.from_json_keyfile_name(
     'service-account.json', FCM_SCOPE) 
    access_token_info = credentials.get_access_token() 
    return access_token_info.access_token 

Sobald Sie den Code haben - können Sie es in Ihre Postman unter Zulassung ein:

enter image description here

WICHTIG:

In meinem Fall hatte ich Schwierigkeiten, dies zu erreichen, als ich versuchte, eine geplante Aufgabe zu testen, die alle paar Minuten eine Push-Benachrichtigung an FCM senden würde. Ich hatte das Token auf meine Logs gedruckt und dann dieses Token zum Testen zu meinem Postboten gebracht, ohne zu merken, dass es bereits in den geplanten Aufrufen von FCM verwendet wurde.

In diesem Fall, da es bereits verwendet wurde, ist das Token nicht mehr gültig und meine Postman-Tests waren alle fehlgeschlagen. In diesem Fall müssen Sie neue Token für Ihre Postman-Tests generieren.

Verwandte Themen