Я пытаюсь создать уведомление из службы REST. Недостатком является то, что он не отправляется, хотя fcm.googleapis.com/fcm/send отвечает, что это было успешно. Это я двумя способами, первым модулем HTTP:Сгенерировать уведомление о выпуске через Firebase
var http = require('http');
var options = {
'hostname': 'fcm.googleapis.com',
'path': '/fcm/send',
'method': 'POST',
'headers': {
'Authorization': 'key=<Key Server>',
'Content-Type': "application/json"
}
};
var data = {
'to':tokenPush,
'notification':notification
};
var requestHttp = http.request(options, function(res){
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log(chunk);
});
});
requestHttp.on('error', function(e) {
console.log('problem with request: ' + e.message);
});
requestHttp.end(JSON.stringify(data));
Другой путь через команду из оболочки:
var exec = require('child_process').exec;
var cmd = 'curl -X POST --header "Authorization: key=<Key Server>" ';
cmd += '--Header "Content-Type: application/json" https://fcm.googleapis.com/fcm/send ';
cmd +='-d \'{"to":"<Token Client>","notification":{"title":"Validación","body":"'+(new Date()).getTime()+'","sound":"default"}}\'';
console.log("=====================================");
console.log(cmd);
console.log("=====================================");
exec(cmd, function(error, stdout, stderr) {
if (error) {
console.log("=====================================");
console.error('exec error:'+error);
}
console.log("=====================================");
console.log('stdout: '+stdout);
console.log('stderr: '+stderr);
});
В обоих случаях ответ:
{«Multicast_id»: «success»: 1, «failure»: 0, «canonical_ids»: 0, «results»: [{"message_ID": ""}]}.
Код для оболочки работает правильно, когда я запускаю ее из отдельного файла с помощью команды «node».
Что я могу ошибаться?
ли у вас есть ошибки в узле? У вас есть ошибка в "requestHttp var = http.request (опции, функция" заменить на "var requestHttp = http.request (опции, функция" –
Извините, моя ошибка. Но игнорируя эту ошибку, скопируйте-вставьте, отправьте уведомление, хотя служба была успешной ответ Firebase. –
Попробуйте код из моего ответа –