Je souhaite essayer d'envoyer un message à l'aide du service de messagerie FCM
de Google. Comme le dit le document, la requête http devrait ressembler à ceci:
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..."
}
Mon problème est que je n'ai aucune idée de ce que devrait être la valeur de Authorization
et lorsque je supprime cet en-tête et fais la demande, j'obtiens l'erreur 401:Unauthorized
. Quelqu'un peut-il m'aider?
PS: à des fins de test, j'utilise actuellement ce site pour envoyer un message à mon appareil
Selon À propos de Firebase Cloud Messaging Server documentation:
Authentification
Pour envoyer un message, le serveur d'applications envoie une demande POST. Par exemple:
https://fcm.googleapis.com/fcm/send
Une demande de message est composée de deux parties: l'en-tête HTTP et le HTTP corps.
L'en-tête HTTP doit contenir les en-têtes suivants:
Autorisation: clé = YOUR_SERVER_KEY
Assurez-vous qu'il s'agit bien de la clé serveur, dont la valeur est disponible dans la console de projet Firebase sous Paramètres du projet> Cloud Messaging. Les clés client ou toute autre clé sont rejetées par FCM.
Content-Type:
application/json
pour JSON;application/x-www-form-urlencoded;charset=UTF-8
pour le texte brut.Si Content-Type est omis, le format est supposé être du texte brut.
J'espère que ça aide!
UPDATE (2016/11/16)
Peut-être devriez-vous envisager d'utiliser le jeton FCM au lieu des clés du serveur comme note à l'intérieur de la capture d'écran suivante
UPDATE (2016/12/08)
Firebase a mis à niveau les clés du serveur vers une nouvelle version et vous recommande de procéder à la mise à niveau vers la version la plus récente. S'il vous plaît voir la capture d'écran ci-dessous:
j'ai aussi fait face à cette erreur. Le problème est avec la clé du serveur. N'utilisez pas la clé api du fichier google-services.json.
Vous devez utiliser la clé API du serveur de votre projet de console Firebase, dans l'onglet Clé de messagerie des clés de projet: https://console.firebase.google.com/project/firebase-probiz/settings/cloudmessaging
C’est la clé de votre serveur que vous pouvez observer dans console.developers.google.com ou dans la console du projet Firebase sous Paramètres du projet> Messagerie dans le cloud. Notez la clé créée automatiquement par Google Services. Vous devez ajouter l'adresse IP inco G.Console pour limiter l'utilisation.
De plus, souvenez-vous de Content-Type: application/json, sinon vous obtiendrez Error = MissingRegistration.