webentwicklung-frage-antwort-db.com.de

Senden von Push über Postman mit Firebase Messaging

Ich versuche, Postman zu verwenden, um eine einzige Push-Benachrichtigung mit Firebase Cloud Messaging-Dienst zu senden.

Dies ist ein funktionierender cURL-Befehl für denselben Zweck, auf den 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 gemacht habe ..

1 - Stellen Sie die Header entsprechend ein

 enter image description here

2- Bei Body verwende ich 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?

18
Machado

Die korrekte Methode zum Einrichten des Schlüssels Authorization am Header ist

key=<API_ACCESS_KEY>

und nicht nur

<API_ACCESS_KEY>

Dummer Fehler, aber da dies für jemanden nützlich sein könnte, um Firebase Messaging mit Postman zu testen, lasse ich die Frage offen.

24
Machado

FCM über POSTMAN buchen

Body-to-Token-ID (sollte über Instanz-Token generiert werden) schreibe Body in Raw Binäranwendung/json  body tye

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

   "notification": {

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

header: sollte die Berechtigung haben: Serverschlüssel 

Inhaltstyp: application/json  headerimage Nach dem Posten hier die Erfolgsmeldung:  success message image

19

Schauen Sie sich den Screenshot unten an, wie der Autorisierungsschlüssel festgelegt wird

Berechtigung: ** Schlüssel = ** abcdefghijklmnopr2qrst253uv124wxyz_9shg

 enter image description here

6
rohitpaniker

Öffne Postman, klicke auf Enter request URL Textfeld, geben Sie die Firebase-URL ein

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

Ändern Sie dann den Anforderungstyp in POST. Siehe unten Screenshot:

enter image description here

Klicken Sie nun auf Header und fügen Sie zwei paramsContent-Type und Authorization.

Content-Type= application/json
Authorization=AIzaSyAEb3NhsfGw1ih5mn8cmrGUAXMp86waQ //FCM SERVER KEY

Siehe unten Screenshot:

enter image description here

Klicken Sie nun auf Body und wählen Sie Row aus. Fügen Sie dann wie unten beschrieben einen Wert als Objekt hinzu

{ 
"to":"eB5papU2Xdc:APA91bFFvc3dXru1fN5JY8U19oHIpfGhPUx7Ll7v9vJYTsIGZ15mDwB2Wpep3flLK85IUqqs2WqJwjYHSDYX28oJ1wTP0R2TDc2ba_uVjUauDcp3pCNKr_0KlghOnS", 
 "notification" : {
 "body" : "New announcement assigned",
 "OrganizationId":"2",
 "content_available" : true,
 "priority" : "high",
 "subtitle":"Elementary School",
 "Title":"hello"
 },
 "data" : {
 "priority" : "high",
 "sound":"app_sound.wav",
 "content_available" : true,
 "bodyText" : "New Announcement assigned",
 "organization" :"Elementary school"
}
}

Nun würde Ihr Postbote so aussehen. Klicken Sie oben rechts auf die Schaltfläche Senden .

enter image description here

Viel Glück!

6
r15

Für die neue FCM-HTTP-v1-API hat sich die Testmethode für Push-Benachrichtigungen über Postman geändert, und die vorhandenen Lösungen befassten sich nur mit der älteren Testmethode für Push-Benachrichtigungen: https://firebase.google.com/docs/cloud-messaging/ Nachricht senden

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

Ich habe meins mit Python mit dem folgenden Code generiert - denken Sie daran, das Paket zu installieren, damit Sie das Paket erfolgreich in Ihren Code 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 das Token haben, können Sie es unter Autorisierung in Ihren Postman einfügen:

 enter image description here

WICHTIG:

In meinem Fall hatte ich mich ein wenig darum gekümmert, dass dies funktionierte, als ich versuchte, eine geplante Aufgabe zu testen, bei der alle paar Minuten eine Push-Benachrichtigung an FCM gesendet wurde. Ich hatte das Token in meine Protokolle geschrieben und dann mitgenommen Dieses Token an meinen Postman zum Testen, ohne zu wissen, dass es bereits in den geplanten Aufrufen von FCM verwendet wurde.

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

5
Simon
POST https://fcm.googleapis.com/v1/projects/projectID/messages:send

Header:

Authorization:Bearer ya29.c.ElrXBjdxUzOI................o7_Y2shX2Je4tEe0

body:

  {
      "message": {
        "token": "dlqj05MCnNI:APA91bGhCX6NhT.................QDpKhGheHyhhJ6T",
        "Android": {
          "notification": {
            "title": "New Content!",
            "body": "A new video has been uploaded.",
            "icon": "your_icon"
          }
        }
      }
    }
1
anson

Stellen Sie sicher, dass Sie den Inhaltstyp: application/json-Header angeben

es schlägt mit einem irreführenden Fehler fehl, wenn Sie den Inhaltstypheader nicht einschließen, der besagt:

0
Umer Ahmed

Überprüfen Sie Folgendes: FCM-Benachrichtigung mit POSTMAN testen! }

Senden Sie eine Datennachricht über das HTTP-Protokoll mit POSTMAN

  • Sie müssen den Legecy Server Key aus Firebase Console> Projekteinstellungen> Cloud Messaging kopieren

Hinweis: Firebase hat unsere Serverschlüssel auf eine neue Version aktualisiert. Du darfst Verwenden Sie weiterhin Ihren alten Serverschlüssel, es wird jedoch empfohlen, dass Sie Upgrade auf die neueste Version.

  • Wählen Sie POST. Geben Sie die Anforderungs-URL als https://fcm.googleapis.com/fcm/send ein.
  • Header hinzufügen Autorisierung: key=<legacy_server_key> OR Authorization: key=<server_key> und Content-Type: application/json.

  • Wählen Sie nun Body> raw> JSON (application/json) und fügen Sie folgenden Code hinzu:

    {
         "to" : "YOUR_FCM_TOKEN_WILL_BE_HERE",
         "collapse_key" : "type_a",
         "notification" : {
             "body" : "Body of Your Notification",
             "title": "Title of Your Notification"
         },
         "data" : {
             "body" : "Body of Your Notification in Data",
             "title": "Title of Your Notification in Title",
             "key_1" : "Value for key_1",
             "key_2" : "Value for key_2"
         }
    }

Ich habe die POSTMAN Collection für Sie erstellt, Direkt im Postboten ausführen.

Hoffe es wird dir helfen.

0
Pratik Butani