0

Je tente d'envoyer une notification push à partir d'une simple page web de test. J'utilise firebase. Ceci est mon code actuel:Notifications Pushbase Push avec jQuery (Javascript)

function sendPushNotification() { 
    $.ajax({   
     type : 'POST', 
     url : "https://fcm.googleapis.com/fcm/send", 
     headers : { 
      Authorization : 'key=' + '<my_server_key>', 
      'Content-Type' : 'application/json' 
     }, 
     contentType : 'application/json', 
     dataType: 'json', 
     data: JSON.stringify({"notification": {"body":"Test"}}), 
     success : function(response) { 
      console.log(response); 
     }, 
     error : function(xhr, status, error) { 
      console.log(xhr);     
     } 
    }); 
} 

Je reçois l'erreur:

[Error] Failed to load resource: the server responded with a status of 400 (HTTP/2.0 400) (send, line 0) 

que je suppose est une mauvaise demande. Quelle est la bonne façon de faire cela?

Répondre

1

Par the docs, une erreur 400 est renvoyée lorsque le JSON de votre requête ne peut pas être analysé. Si vous vérifiez le network tab dans votre navigateur, vous devriez être en mesure de voir la raison exacte de l'échec.

Veuillez noter que les messages FCM ne doivent pas être envoyés par le client. Envoyer des messages nécessite:

A trusted environment such as Cloud Functions for Firebase or an app server on which to build, target and send messages. (FCM docs: How does it work?)

+0

Connaissez-vous l'appel correct si? (Je sais qu'ils ne devraient pas être envoyés du client, mais c'est pour le test) – Minebomber

+0

Avez-vous vérifié l'onglet de votre réseau pour voir quelle est l'erreur? Vous pouvez également vérifier là-bas pour voir à quoi ressemble votre demande. – Jeff